贪婪:最大限度的匹配。正则的匹配默认就是贪婪的。
非贪婪:只要满足条件,能少匹配就少匹配。‘?’经常用于取消贪婪。
示例代码:
import re
# ?:取消任意多次的贪婪匹配
# c = re.compile(r'a.*?b')
# ?:取消至少一次的贪婪匹配
c = re.compile(r'a.+?b')
s = c.search('ssjdsdabjdsd')
if s:
print(s.group())
运行结果:
贪婪:最大限度的匹配。正则的匹配默认就是贪婪的。
非贪婪:只要满足条件,能少匹配就少匹配。‘?’经常用于取消贪婪。
示例代码:
import re
# ?:取消任意多次的贪婪匹配
# c = re.compile(r'a.*?b')
# ?:取消至少一次的贪婪匹配
c = re.compile(r'a.+?b')
s = c.search('ssjdsdabjdsd')
if s:
print(s.group())
运行结果: