Python,正则表达式:非贪婪在重叠时不起作用?

时间:2017-02-09 02:19:52

标签: python regex overlapping non-greedy

MCVE python代码段

import re
str = "aa {bb cc {dd} ee"
print(re.search("{.*}", str).group())
print(re.search("{.*?}", str).group())

输出

{bb cc {dd}
{bb cc {dd}

但是,我原本预计

{bb cc {dd}
{dd}

为什么额外的?没有使正则表达式变得非贪婪?重叠与此有关吗?

1 个答案:

答案 0 :(得分:2)

这不是贪婪的,但非贪婪并不意味着,"找到匹配的最小的东西,"它意味着,"从匹配的字符串中的第一个位置开始找到匹配的最小的东西。"第一个打开的花括号是匹配的开始,与之匹配的最小的东西是{bb cc {dd}