[英]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.