你可以使用负向前瞻来实现不包含某个字符串的正则匹配。负向前瞻使用 (?!pattern)
的语法,表示匹配不包含指定模式的内容。
下面是一个使用负向前瞻的C#正则表达式示例,匹配不包含字符串 "abc" 的内容:
string pattern = @"^(?!.*abc).*";
string input = "defg";
bool isMatch = Regex.IsMatch(input, pattern);
Console.WriteLine(isMatch); // 输出 True
在上面的示例中,正则表达式 ^(?!.*abc).*
表示从字符串的开头到结尾,不包含字符串 "abc" 的内容。 .*
表示任意字符的零个或多个重复。
如果输入字符串为 "abcdefg",则输出为 False,因为它包含了字符串 "abc"。而如果输入字符串为 "defg",则输出为 True,因为它不包含字符串 "abc"。