gpt4 book ai didi

python - python中的双重先行断言

转载 作者:行者123 更新时间:2023-11-28 22:17:41 24 4
gpt4 key购买 nike

我知道前瞻性断言会根据条件进行匹配。但突然间,我被这种双重先行断言震惊了。

>>> a = compile(r'a(?=b)(?=c)')
>>> b = a.findall('abc')
>>> b
[]

然后匹配什么。提前致谢!

最佳答案

您正在匹配 aassert在 a 之后,应该有一个 b。该断言成功。

但在那之后,您断言 a 之后的内容应该是 c。该断言失败,因此不会有匹配项。

例如a(?=b)将成功并匹配 a

a(?=c)不会成功,因为a后面没有c。

要断言在 a 之后有 bc,您可以使用 a(?=bc)或断言中的断言 a(?=b(?=c))作为@Keyur Potdar指出。

关于python - python中的双重先行断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51121583/

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