正则表达式,用于匹配日期和右方括号之间的所有内容:
2018-09-19 15:15:27,272 - AppLog - INFO -
******************************************
Log Report - Consume Cycle BWYgqW-ConsumeCycle
******************************************
Uptime: 11723.089329242706s
Jobs Run: 281098
Jobs Current: 75
Q Avg Read Time: 0.014049809202426435
Q Msgs Read: 5347
Worker Load: ['0.92', '0.95', '0.99']
******************************************
2018-09-19 15:16:42,089 - AppLog - INFO -
******************************************
Log Report - Consume Cycle eehEes-ConsumeCycle
******************************************
Uptime: 11710.040764093399s
Jobs Run: 287010
Jobs Current: 75
Q Avg Read Time: 0.006846889048917865
Q Msgs Read: 6649
Worker Load: ['0.99', '0.99', '0.98']
******************************************
我尝试了许多正则表达式来匹配date
(2018-09-19)和右方括号]
(包括)之间的匹配。
日期也会随着年份而改变。
(我知道这是一个重复的问题,但是我为此付出了很多努力)
答案 0 :(得分:1)
我认为/[0-9]{4}[\s\S]+?\]/gm
可以满足您的需求。
[0-9]{4}
搜索字符串开头的年份,[\s\S]+?
将匹配任何内容,直到第一个]
。
结果将是:
Match 1
2018-09-19 15:15:27,272 - AppLog - INFO -
******************************************
Log Report - Consume Cycle BWYgqW-ConsumeCycle
******************************************
Uptime: 11723.089329242706s
Jobs Run: 281098
Jobs Current: 75
Q Avg Read Time: 0.014049809202426435
Q Msgs Read: 5347
Worker Load: ['0.92', '0.95', '0.99']
Match 2
Full match 455-857 2018-09-19 15:16:42,089 - AppLog - INFO -
******************************************
Log Report - Consume Cycle eehEes-ConsumeCycle
******************************************
Uptime: 11710.040764093399s
Jobs Run: 287010
Jobs Current: 75
Q Avg Read Time: 0.006846889048917865
Q Msgs Read: 6649
Worker Load: ['0.99', '0.99', '0.98']
您可以在Regex101
上对其进行测试 [EDIT] 删除了^
,将其与re.findall
一起使用以获取所有匹配项