我正在一个日志文件中浏览几个日志,每个日志都包含以下行:
Completed in 0.00023 (4328 reqs/sec) | Rendering: 0.00010 (45%) | DB: 0.00000 (0%)
我的捕获组是:
0.00023 (4328 reqs/sec)
0.00010 (45%)
0.00000 (0%)
我需要解析每个日志条目并将解析后的值存储在数据库中。
示例:
cycle_time | render-time | active_record
| |
0.00023 (4328 reqs/sec) | 0.00010 (45%) | 0.00000 (0%)
| |
我正在使用正则表达式来解析它们,但我的问题是我无法将值彼此区分开,因为它们几乎具有相同的格式。我目前使用此正则表达式:
\d\.\d{5}\s\(\d{1,2}\%\)
但是,它仅捕获render_time和active_record的值,甚至无法区分两者。有什么想法吗?
答案 0 :(得分:0)
您可以尝试以下方法:
((?<=Completed in ).+?(?= \|)).*((?<=Rendering: ).+?(?= \|)).*((?<=DB: ).*)$
这将为您提供3组,然后您可以将其分别存储到数据库中:
1. 0.00023 (4328 reqs/sec)
2. 0.00010 (45%)
3. 0.00000 (0%)