贪婪与非贪婪模式指的是限定符操作是尽可能多的匹配字符串还是尽可能少的匹配字符串

默认情况下都是贪婪匹配

要非贪婪匹配的话,只需要在限定符后加上”?”即可。

举个例子就很明白

import re

m1 = re.match(r'.+', 'Are you ok? No, I am OK.')
print(m1.group())

m2 = re.match(r'.+?', 'Are you ok? No, I am OK.')
print(m2.group())

m3 = re.findall(r'<.+>', r'<this><is><an><example>')
print(m3)
m4 = re.findall(r'<.+?>', '<this><is><an><example>')
print(m4)

执行结果

Are you ok? No, I am OK.
A
['<this><is><an><example>']
['<this>', '<is>', '<an>', '<example>']

你也可能喜欢

发表评论