35

是否可以在正则表达式中进行字符串否定?我需要匹配所有不包含字符串的字符串".."。我知道您可以使用它^[^\.]*$来匹配所有不包含"."但我需要匹配多个字符的字符串。我知道我可以简单地匹配一个包含".."然后否定匹配的返回值来获得相同结果的字符串,但我只是想知道这是否可能。

4

2 回答 2

42

您可以使用负前瞻:

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

如果它可以在字符串中的任何位置找到由两个句点组成的序列,则会导致表达式不匹配。

于 2009-07-20T14:17:09.213 回答
5
^(?:(?!\.\.).)*$

仅当字符串中没有两个连续的点时才会匹配。

于 2009-07-20T14:21:25.883 回答