正则表达式的命名空间不起作用

Bra*_*wer 2 .net c#

我翻新了一些过去在.NET Framework 3.5上工作的旧代码,使其可以在.NET Framework 4上使用C#.

以下正则表达式曾经与3.5版本一起正常工作但由于某些奇怪的原因不再起作用.

public static readonly Regex ChatColorRegex = new Regex("\\|c[A-Za-z0-9]{6,8}"),
                                 ChatLinkRegex = new Regex("\\|H.*?\\|h");
Run Code Online (Sandbox Code Playgroud)

我在我的文件顶部添加了'using System.Text.RegularExpressions',但是出现了以下错误:'名称空间System.Text中不存在类型或命名空间RegularExpressions.

我已经用Google搜索了这一点,并且读到你必须在Visual Studio中添加对System.Text.RegularExpressions的引用.但是,当我这样做时,我无法在我可以添加的References列表中找到System.Text.RegularExpressions.

我正在使用Visual Studio 2012.

任何人都可以告诉我我做错了什么,或忘记阅读?

Mat*_*low 10

Regex类仍在System.Text.RegularExpression命名空间中.该类位于系统程序集中.

如果在解决方案资源管理器中检查项目引用,则应该看到对系统程序集的引用.检查该引用的属性,以查看用于系统程序集引用的.NET Framework版本.它应该与您为项目属性("应用程序"选项卡)中的"目标框架"选择的.NET Framework版本相匹配.

编辑:Regex类位于System.Text.RegularExpressions命名空间中,而不是System.Text.

  • 这就是诀窍.我忘了设置'系统'参考. (2认同)