Python 正则表达式 贪心匹配和非贪心匹配

  Python的正则表达式默认是“贪心匹配”,即在有第二义的情况下,尽可能匹配最长的字符串,在正则表达式的花括号后面跟上问号,可以变为非贪心模式

>>>
>>> haRegex=re.compile(r'(ha){3,5}')
>>> m=haRegex.search('hahahahahaha')
>>> print(m.group())
hahahahaha
>>>

上述输出5个ha,是贪心匹配

>>>
>>> haRegex=re.compile(r'(ha){3,5}?')
>>> m=haRegex.search('hahahahahaha')
>>> print(m.group())
hahaha
>>>

上述输出3个ha,是非贪心匹配

posted @ 2017-11-10 14:04  pigwan7  阅读(3945)  评论(0编辑  收藏  举报