我意识到有很多关于此的问题,但没有一个我发现具体引用了他们提到的VS版本。由于缺乏重要信息,我仍然无法成功使用我找到的答案。最常见的是
但是,这似乎是在Visual Studio中进行正则表达式查找和替换的旧方法,并且它在VS 2012中不起作用。
答案 0 :(得分:301)
要在VS 2012和VS 2015中查找和替换,请执行以下操作:
示例(感谢syonip)
在查找选项中,确保选中“使用正则表达式”,并将以下内容作为要查找的文本:
_platformActions.InstallApp\((.+)\)
以下作为替换它的文本:
this.Platform().App($1).Install()
注意:正如SLaks在下面的评论中指出的那样,正则表达式语法的变化是由于VS2012切换到标准.Net正则表达式引擎。
注意:另一位评论者指出,这也适用于Visual Studio Code(vscode)
答案 1 :(得分:14)
要添加一个这样的例子,我必须在我的代码中执行以下操作:
找到:
_platformActions.InstallApp\((.+)\)
替换为:
this.Platform().App($1).Install()
这将替换对InstallApp(x)的任何调用,使用this.Platform()。App(x).Install()。
*不要忘记在查找选项
中标记“使用正则表达式”答案 2 :(得分:4)
如果您想使用组名(使用与上面相同的样本):
找到:
daynumMidPoint
替换为:
_platformActions\.InstallApp\((?<mygroupname>.+)\)
答案 3 :(得分:4)
改善上述答案: 你应该替换
_platformActions.InstallApp\((.+)\)
带
this.Platform().App(${1}).Install()
如果您想要在捕获后添加数字,请注意 $ {1} 。 $18
将尝试插入第18个搜索捕获,而不是第一个附加8
的搜索捕获。