我有一个正则表达式:为什么在Visual Studio中不能反向RegEx匹配?
ConfigurationManager.ConnectionStrings.Item\(\"((?!foo).)*\"
,在Rubular工作和预期相匹配的两个字符串的第二:
ConfigurationManager.ConnectionStrings.Item("foo")
ConfigurationManager.ConnectionStrings.Item("bar")
但是,如果我在Visual Studio 2005中运行相同的表达 - 我没有得到任何比赛。它实际上应该匹配存在ConfigurationManager.ConnectionStrings.Item...
的每一个实例,因为它们都不匹配foo
这个词。
除非在Visual Studio中反向表达式不起作用。
如果这是真的,我将如何去在Visual Studio 2005中获得相同的结果?
我不知道VisualStudio,但[反面查找](http://www.regular-expressions.info/lookaround.html)没有在许多正则表达式引擎中实现。 – 2013-03-18 16:47:48
@dystroy,我想知道。对于实现者来说,我认为这是其中一种情况,所以如果他们能够做到这一点,他们就会完成它。我相信这很复杂。 – 2013-03-18 16:48:58
@dystroy它是在.NET中。实际上 - 在某种程度上 - 在大多数现代正则表达式引擎中。这里使用的固定长度断言几乎得到普遍支持。 /编辑啊,这是关于VS中的搜索和替换功能。然后所有投注都关闭。 – 2013-03-18 16:51:11