gpt4 book ai didi

Python,正则表达式 : non-greedy not working when overlapping?

转载 作者:行者123 更新时间:2023-12-01 03:19:08 24 4
gpt4 key购买 nike

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}

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

最佳答案

它是非贪婪的,但非贪婪并不意味着“找到匹配的最小的东西”,它的意思是“从匹配的字符串的第一个位置开始找到匹配的最小的东西。 ”第一个左大括号是匹配的开始,从那里开始匹配的最小内容是 {bb cc {dd}

关于Python,正则表达式 : non-greedy not working when overlapping?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42127126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com