Объединение нескольких Python Regex - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть следующие шаблоны регулярных выражений - 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...