使用正则表达式进行字符串取反

35

在正则表达式中是否可以进行字符串否定运算?我需要匹配所有不包含字符串".."的字符串。我知道可以使用^[^\.]*$来匹配不包含"."的所有字符串,但我需要匹配多个字符。我知道可以简单地匹配包含".."的字符串,然后取反匹配结果以达到相同的效果,但我只是想知道是否可能。


2个回答

42

你可以使用负向先行断言:

^(?!.*\.\.).*$

如果字符串中存在连续的两个句号,那么表达式就会不匹配。


5
^(?:(?!\.\.).)*$

只有在字符串中没有连续两个点时,才会匹配。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接