正则表达式 - 如何找到之前和最接近的匹配

时间:2014-03-13 20:36:01

标签: regex

我有一个要分析的日志文件,看起来像这样

12:14 (东西) 13:15 (东西) 13:16 (东西) PWR = 123 (东西) 13:17 (东西) 13:18 (东西) PWR = 456 (东西)

我想找到“Pwr =”之后的所有数字并与之前的时间戳配对?所以在一天结束的时候我会有一对:    13:16 123    13:18 456

非常感谢提前!

2 个答案:

答案 0 :(得分:0)

假设每个条目都是一行,

^(\d+:\d+).*Pwr=(\d+).*

这将在捕获组1中放置HH:MM时间戳,在捕获组2中放置Pwr值。

答案 1 :(得分:0)

假设不是每个条目都在一个单独的行上,这会将时间戳提取到捕获组1和捕获组2中的Pwr值,除非(某物)包含除字符,数字或下划线之外的其他内容

(\d{2}:\d{2})\s\(\w+?\)\sPwr=(\d+)