regex - 在 Visual Studio 2012 正规表达式 查找和替换中,如何查找 lookahead

  显示原文与译文双语对照的内容

I 在文件中查找所有的语句,这些语句包含一个对类的引用,在文件后面的任何地方都包含一个引用。

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

像这样:

enter image description here

我尝试过 (using Example.Foo;)(?=[.sn]*BaseClass<SomeClass>[.sn]*) 但没有。

更新

为了清晰起见,这是 vs 2012 IDE查找和替换对话框。

时间:

你需要添加一个(),它支持多行匹配,同时还可以转义 using Example.Foo 中的句点。 正规表达式 应该是以下行的内容:

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

我自己想出来的。


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

这个技巧 !

感谢你的(?s) 提示,这是必需的 ! +1代表那个。

...