使用正则表达式字符串否定
-
18-09-2019 - |
题
是否有可能做串否定的正则表达式?我需要匹配不包含字符串".."
所有字符串。我知道你可以使用^[^\.]*$
匹配不包含"."
所有字符串,但我需要匹配多个字符。我知道我可以简单地匹配包含".."
字符串,然后否定匹配的返回值来达到同样的结果,但我只是想知道,如果它是可能的。
解决方案
可以使用负向前看符号:
^(?!.*\.\.).*$
这导致表达式不匹配,如果它可以在字符串中的任何地方找到两个周期的序列。
其他提示
^(?:(?!\.\.).)*$
如果有字符串中没有两个连续的点的任何地方将只匹配。
不隶属于 StackOverflow