小编Ant*_*hev的帖子

为什么正则表达式量词 {n,} 比 + (在 Python 中)更贪婪?

我尝试使用正则表达式来查找由重复的双字母形成的最大长度序列,例如AABBstring 中的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,}比 更贪婪+

python regex regex-greedy

5
推荐指数
1
解决办法
143
查看次数

标签 统计

python ×1

regex ×1

regex-greedy ×1