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}
为什么额外的?
没有使正则表达式变得非贪婪?重叠与此有关吗?
答案 0 :(得分:2)
这不是贪婪的,但非贪婪并不意味着,"找到匹配的最小的东西,"它意味着,"从匹配的字符串中的第一个位置开始找到匹配的最小的东西。"第一个打开的花括号是匹配的开始,与之匹配的最小的东西是{bb cc {dd}
。