我正在尝试查找所有使用cs文件中的语句,这些语句包含对其后面的文件中类类的引用。
例如,如果在其后面的文件中的任何位置找到using Example.Foo;
,我想匹配BaseClass<SomeClass>
。
像这样:
我试过(using Example.Foo;)(?=[.\s\n]*BaseClass\<SomeClass\>[.\s\n]*)
但没有快乐......
更新
为清楚起见,这适用于VS 2012 IDE查找和替换对话框。
答案 0 :(得分:2)
您需要添加(?s),以启用多行匹配,并且还可以在using Example.Foo
中转义句点。正则表达式应该是:
(?s)using Example\.Foo;(?=.*BaseClass<SomeClass>)
答案 1 :(得分:1)
我自己想出来了。
(?s)using Example\.Foo;(?=(.*|\s\r)BaseClass\<SomeClass\>(.*|\s\r))
这就是诀窍!
感谢(?s)
提示,这是必需的!为此+1 ...