为什么我从C#代码中获取“当前上下文中不存在正则表达式”的名称?

时间:2013-10-04 00:39:37

标签: c# regex

为什么我收到此错误:

  

当前上下文中不存在Regex名称。

来自我的代码?

if (Regex.IsMatch(string1, @"^[a-zA-Z]+$"))

6 个答案:

答案 0 :(得分:27)

确保您引用了System.Text.RegularExpressions命名空间。

答案 1 :(得分:4)

您需要包含正确的命名空间才能访问Regex类:

using System.Text.RegularExpressions;

答案 2 :(得分:2)

添加

using System.Text.RegularExpressions;

到您的类文件的顶部。

答案 3 :(得分:2)

如果你已经包含'使用'而仍然没有运气,请先将其实例化。

string regexPattern = @"^[a-zA-Z]+$";    
Regex r = new Regex(regexPattern, RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match m = r.Match(string1);
if(m.Success)
{
   // Win!
}

答案 4 :(得分:1)

程序中不存在Regex类。但是,如果您从某个外部库中引用它,则可以在程序中使用它。

为了能够使用Regex类及其所有功能,请在代码中添加System.Text.RegularExpressions命名空间。

答案 5 :(得分:0)

请确保您输入的是 Regex.IsMatch 而不是 RegEx.IsMatch 大写字母 E。我之前也弄错了。