我明白了:
import re;
print re.findall(r"q(?=u)", "qqq queen quick qeel")
> ['q', 'q'] # for queen and quick
但我不明白:
import re;
print re.findall(r"q(?!=u)", "qqq queen quick qeel")
> ['q', 'q', 'q', 'q', 'q', 'q'] # every q matches
我希望只有4个qs匹配,因为否定的前瞻应该看到,在单词qeel中,例如,q后面的字母是而不是u
有什么好处?你知道吗
是的
没有
=
,也就是说。否则,你就不想把=u
放在前面,这对你的q
来说是正确的。一般来说,正的前瞻是通过(?=...)
形成的,而负的前瞻只是(?!...)
。旁注:行尾不需要
;
,除非您希望将所有内容都写在一行中,该行不被视为“Pythonic”,但完全有效:相关问题 更多 >
编程相关推荐