我尝试使用正则表达式来查找由重复的双字母形成的最大长度序列,例如AABB
string 中的xAAABBBBy
。
正如官方文档中所述:
、
'*'
、'+'
和'?'
量词都是贪婪的;它们匹配尽可能多的文本。
当我使用量词时{n,}
,我得到一个完整的子字符串,但+
仅返回部分:
import re
print(re.findall("((AA|BB){3,})", "xAAABBBBy"))
# [('AABBBB', 'BB')]
print(re.findall("((AA|BB)+)", "xAAABBBBy"))
# [('AA', 'AA'), ('BBBB', 'BB')]
Run Code Online (Sandbox Code Playgroud)
为什么{n,}
比 更贪婪+
?