繁体   English   中英

如何在Visual Studio 2012 Regex查找和替换中找到前瞻性

[英]How to find with lookahead in Visual studio 2012 Regex Find and Replace

我试图找到所有使用cs文件中的语句,其中包含对其后面的文件中任何位置的类的引用。

例如,我想using Example.Foo;匹配using Example.Foo; 如果在其后的文件中的任何位置找到BaseClass<SomeClass>

像这样:

在此输入图像描述

我试过(using Example.Foo;)(?=[.\\s\\n]*BaseClass\\<SomeClass\\>[.\\s\\n]*)但没有快乐...

UPDATE

为清楚起见,这适用于VS 2012 IDE查找和替换对话框。

您需要添加一个(?s),它可以启用多行匹配,并且还可以using Example.Foo延长时间。 正则表达式应该是这样的:

(?s)using Example\\.Foo;(?=.*BaseClass<SomeClass>)

我自己想通了。

(?s)using Example\.Foo;(?=(.*|\s\r)BaseClass\<SomeClass\>(.*|\s\r))

这就是诀窍!

感谢(?s)提示,这是必需的! 为此+1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM