1

我正在尝试查找 cs 文件中的所有 using 语句,这些语句包含对后面文件中任何位置的类的引用。

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

像这样:

在此处输入图像描述

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

更新

为清楚起见,这是针对 VS 2012 IDE 的查找和替换对话框。

4

2 回答 2

2

您需要添加一个 (?s),它可以启用多行匹配,并且还要转义using Example.Foo. 正则表达式应该类似于以下内容:

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

于 2013-08-02T20:03:18.027 回答
1

我自己想通了。

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

这是诀窍!

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

于 2013-08-02T20:31:40.390 回答