我希望匹配包含指定字符[I|V|X|M|C|D|L]
以外的所有内容的行。
new Regex(@"^(.*) is (?![I|V|X|M|C|D|L].*)$")
应匹配除OR
列表中提到的字符以外的所有内容。
应匹配 -
name is a
不应该匹配 -
edition is I
答案 0 :(得分:11)
尝试这种模式:
^[^IVXMCDL]*$
这将匹配字符串的开头,后跟零个或多个字符,而不是字符类中指定的字符,后跟字符串的结尾。换句话说,它不会匹配任何包含这些字符的字符串。
另请注意,根据您的使用方式,您可以使用更简单的模式:
[IVXMCDL]
并拒绝与该模式匹配的任何字符串。
答案 1 :(得分:3)
答案 2 :(得分:0)
private bool IsValid(String input)
{
bool isValid = false;
// Here we call Regex.Match.
Match match = Regex.Match(input, @"^[^IVXMCDL]*$");
// Here we check the Match instance.
if (match.Success)
{
isValid = true;
}
else
{
isValid = false;
}
return isValid;
}