【发布时间】:2018-09-22 17:18:32
【问题描述】:
我有一个案例,我必须分解一个看起来像这样的字符串:
TASK **********************************
everything ok
TASK **********************************
some text here untill you get dot retry.retry
TASK **********************************
everything ok
我只想捕获失败的组(最后有 .retry)
TASK **********************************
some text here untill you get dot retry.retry
到目前为止,我使用以下正则表达式最接近我所需要的,但是,它只捕获第一组并且只捕获第一组
(?m)(TASK.*\.retry)
有什么建议吗?
编辑:
re.findall(r"TASK.+?\.retry" , text, flags = re.DOTALL)
如果所有组都以 .retry 结尾,则会找到组,这就是问题最初的措辞,但错了......我的错。
编辑 2:
重复的答案不排除正常的组,为什么会被标记?
【问题讨论】:
-
你可以试试这个正则表达式来匹配你想要的。
(?is)task(?:(?!\.retry|task).)*\.retryregex101.com/r/LCxVPB/90 -
@ThmLee 谢谢你,这很好用