python匹配多栏中的感叹号

时间:2017-08-29 14:34:00

标签: python regex

我有一个具有重复模式输出的文件

!-----------------------------------------------------------------
line 1
line 2
line 3
.....
-------------------------------------------------------------------!

我正在尝试匹配并提取这些块的所有实例,但下面将返回所有文件

match = re.search(r'\!-.*-\!', data, re.DOTALL)
print match.group()

1 个答案:

答案 0 :(得分:1)

默认情况下,Python中的正则表达式是贪婪的,这意味着*将消耗尽可能多的字符。您可以使用*?

关闭贪婪
match = re.search(r'\!-.*?-\!', data, re.DOTALL)