结合多个Python正则表达式

时间:2018-12-06 17:46:20

标签: python regex

我有以下正则表达式模式-我在日志文件中寻找的re1,re2,re3。 我想结合所有三个正则表达式模式并在日志中搜索所有它们。

re1 = '^(?P<timestamp>\d+\.?\d+) seconds$'
re2 = '^(?P<usage>\d+\.?\d+)  \(estimated\)$'
re3 = '^Completed task:(?P<task_type>\w+) success=(?P<status>\w+)$'

我正在使用以下内容将所有三个结合在一起。但是,它只会找到re1并返回结果。

LOG_REGEX = re.compile(r'(%s|%s|%s)' % (re1,re2,re3), re.M | re.U | re.I)
log_info = LOG_REGEX.search(stdout)

有人可以帮我解决这个问题吗?我希望我的正则表达式返回所有三种模式的结果。

示例日志文件:

dshfhhgsHGHDSGDSHdsgsdGLhlhlidsghsdig
Fkszfjgksdjghkjhhhhhhhhhhuetyuhfdjghsjbhs
hdgffffffffffff
Sfhjdgbhjdsshurhwwjoanbgsuterfnbgkriuejksafnbguefj
Jhfeuruwrhfeur
fejghukhhhhhhetuueytiqwfgdhbwirqewtrhugrierjqhtuweyfhjbdvnskafdjs
wait for task complete status:3
task complete

Output:
20.2222 seconds
900.88888 (estimated)

cdsfeughsfbjkeugafGuvEgeFG
Completed task:testTask success=DONE

0 个答案:

没有答案