C#特定字符的正则表达式

时间:2018-04-15 07:01:10

标签: c# regex

我需要动态构建正则表达式,所以我向我的方法传递一串有效字符。然后我使用该字符串在我的方法

中构建正则表达式
string valid = "^m><";  // Note 1st char is ^ (special char)

string input = ...; //some string I want to check

Check(valid);


public void Check(string valid)
{
    Regex reg = new Regex("[^" + valid + "]");
    if (reg.Match(input).ToString().Length > 0)
    {
        throw new Exception(...);
    }
}

如果找到除上面valid字符串提供的字符之外的任何其他字符,我希望上面的Match能够抛出异常。但在我的情况下,即使我没有任何其他字符tahn这3,Check方法仍然会引发新的异常。

这个正则表达式出了什么问题?

1 个答案:

答案 0 :(得分:0)

这解决了它,感谢所有人的帮助

Regex reg =新的正则表达式(“[^”+有效+“]”,RegexOptions.IgnoreCase);