我有一个具有重复模式输出的文件
!-----------------------------------------------------------------
line 1
line 2
line 3
.....
-------------------------------------------------------------------!
我正在尝试匹配并提取这些块的所有实例,但下面将返回所有文件
match = re.search(r'\!-.*-\!', data, re.DOTALL)
print match.group()
答案 0 :(得分:1)
默认情况下,Python中的正则表达式是贪婪的,这意味着*
将消耗尽可能多的字符。您可以使用*?
:
match = re.search(r'\!-.*?-\!', data, re.DOTALL)