gpt4 book ai didi

python - re.sub : non-greedy doesn't work as expected

转载 作者:太空宇宙 更新时间:2023-11-04 10:08:05 25 4
gpt4 key购买 nike

我在 ipython 中有以下代码。我希望它从 .* 开始删除开头的“ab”?是一个非贪婪的。但为什么它一直删除到最后一个 b?

  In [15]: b="abcabcabc"

In [16]: re.sub(".*?b","",b)
Out[16]: 'c'

最佳答案

这是因为,默认情况下,re.sub() 将搜索并替换所有出现的地方

>>> import re
>>> b="abcabcabc"
>>> re.sub(".*?b","",b)
'c'
>>> re.sub("^.*?b","",b)
'cabcabc'
>>> re.sub(".*?b","",b, count=1)
'cabcabc'
>>> re.sub(".*?b","",b, count=2)
'cabc'


来自 doc

re.sub(pattern, repl, string, count=0, flags=0)

关于python - re.sub : non-greedy doesn't work as expected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869136/

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