51Testing软件测试论坛

标题: 正则匹配的贪婪模式 [打印本页]

作者: 素简生香    时间: 2017-11-16 14:43
标题: 正则匹配的贪婪模式
本帖最后由 素简生香 于 2017-11-17 11:28 编辑

正则表达式通常用于在文本中查找匹配的字符串。 Python中数量词默认是贪婪的,总是尝试匹配尽可能多的字符; 非贪婪的则相反,总是尝试匹配尽可能少的字符。
下面通过代码示例,体会一下两者的差别:
>>> patternX = r'ab+?'
>>> patternY = r'ab+'
>>> import re
>>> re.match(patternX,"abbb").group()
'ab'
>>> re.match(patternY,"abbb").group()
'abbb'
上述的代码中 patternX 是非贪婪模式,其中的?号标志匹配数量上非贪婪,patternY 是贪婪模式,两者匹配后的差异非常明显。






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2