【发布时间】:2014-12-29 15:03:45
【问题描述】:
我试图了解负前瞻对简单示例的作用。例如,考虑以下正则表达式:
a(?!b)c
我认为负前瞻匹配一个位置。因此,在这种情况下,正则表达式匹配任何严格包含 3 个字符且不是 abc 的字符串。
但事实并非如此,如 this demo 所示。为什么?
【问题讨论】:
-
@RocketHazmat 是的,它很有帮助,但它是谷歌的第一个结果:) 我读过它
-
为了增加这个问题,一个常见的误解是你可以使用否定前瞻来代替多词否定,甚至尝试其他方式,所以你会看到像这样的损坏的正则表达式:
[A-Za-z]+(?![A-Za-z]),@ 987654326@,(?!sword)fish