Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式-如何找到之前的匹配项以及最接近otehr的匹配项_Regex - Fatal编程技术网

Regex 正则表达式-如何找到之前的匹配项以及最接近otehr的匹配项

Regex 正则表达式-如何找到之前的匹配项以及最接近otehr的匹配项,regex,Regex,我要分析一个日志文件,如下所示 12:14 (某物) 13:15 (某物) 13:16 (某物) 压水堆=123 (某物) 13:17 (某物) 13:18 (某物) 压水堆=456 (某物) 我想找到“Pwr=”后面的所有数字,并与之前的时间戳配对?因此,在一天结束时,我将有两对: 13:16 123 13:18 456 非常感谢 假设每个条目都是一行 ^(\d+:\d+).*Pwr=(\d+).* 这将在捕获组1中放置一个HH:MM时间戳,在捕获组2中放置一个Pwr值。假设不是每个条

我要分析一个日志文件,如下所示

12:14 (某物) 13:15 (某物) 13:16 (某物) 压水堆=123 (某物) 13:17 (某物) 13:18 (某物) 压水堆=456 (某物)

我想找到“Pwr=”后面的所有数字,并与之前的时间戳配对?因此,在一天结束时,我将有两对: 13:16 123 13:18 456


非常感谢

假设每个条目都是一行

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


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

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

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

这将捕获整个字符串,如果不是每个条目都在line@blueygh2我提到了那个但书。因为什么是“某物”并不十分清楚(如果某物可以是00:00怎么办?),当日志条目没有分隔时,这实际上很难做到。如果不清楚某物可以是什么,那么设计一个正确的正则表达式就很难了