Visual Studio 2013:Find/Replace 的正则表达式错误

Visual Studio 2013: Error in Regular Expression for Find/Replace

我在 Visual Studio 2013 find/replace 对话框中使用以下正则表达式来查找解决方案中各处的命名空间引用,但不是 using 语句引用它的地方:

(?!using) System.Data.Entity

但是,我收到了大量 using System.Data.Entity 结果。

我做错了什么?

你想要回顾,而不是展望:

(?<!using )System.Data.Entity

您的正则表达式寻找下几个字符不是 using 的位置,然后它倒转并尝试匹配从同一位置开始的第二个条件:System.Data.Entity。如果第二个条件为真,那么您已经过了第一个条件重要的地步。

因为后视查看前面 个字符,它会将起始位置留在正确的位置以测试第二个条件。