^((?!abc).)*$怎么理解 ?

我知道是负向预查,希望可以仔细的说出执行的每一步,谢谢

阅读 1.6k
2 个回答

^字符开始
(?!abc)后面不是abc
(?!abc).后面不是abc,则匹配一个字符
((?!abc).)*循环N(N>=0)次匹配(后面不是abc,则匹配一个字符)
$结束
最终效果,匹配不含有abc子串的字符串

就用正则可视化就行了:

image.png

推荐问题