簡體   English   中英

Python中的雙前瞻斷言

[英]Double look-ahead assertion in python

我知道前瞻性斷言根據條件匹配。 但是突然之間,我被這個雙重的前瞻性主張震驚了。

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

然后它匹配。 提前致謝!

您匹配a斷言 a之后應該有b 斷言成功。

但是之后,您斷言a應該是c 該斷言失敗,因此將沒有匹配項。

例如a(?=b)將成功並匹配a

這個a(?=c)將不會成功,因為a后面沒有c。

要斷言a之后有bc ,可以使用@Keyur Potdar指出的a(?=bc)或斷言a(?=b(?=c))中的斷言

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM