Answers:
确保在“查找和替换”对话框中选择了“使用:正则表达式”:
请注意,对于Visual Studio 2010,此功能在Visual Studio Productivity Power Tools的“快速查找”扩展中不起作用(自2011年7月更新开始)。相反,您需要使用完整的“查找和替换”对话框(使用Ctrl + Shift + H或“编辑->查找和替换->在文件中替换”),并将范围更改为“当前文档”。
\)
正则表达式时的...
?
字符需要在正则表达式中转义,因为它表示前一个元素是可选的。因此,正确的“查找内容”文本是~~\?
带有问号的反斜杠转义。您给出的答案适用于示例文本,因为它会贪婪地找到第二个波浪号并使用它,但是,如果文本中的任意位置也存在单个波浪号,则也会用换行符替换该波浪号。
如果要避免使用正则表达式时在搜索和替换字符串中转义特殊字符的麻烦,请执行以下步骤:
请注意,即使您想手动选择匹配项以进行首次搜索和替换,也可以在最后三个步骤中安全地使用“全部替换”。
例如,如果要替换此代码:
public IFoo SomeField { get { return this.SomeField; } }
接着就,随即:
public IFoo Foo { get { return this.MyFoo; } }
public IBar Bar { get { return this.MyBar; } }
您将执行以下替换:
public IFoo SomeField { get { return this.SomeField; } }
→ XOXOXOXO
(关闭正则表达式)。XOXOXOXO
→ XOXOXOXO\nHUHUHUHU
(正则表达式上)。XOXOXOXO
→ public IFoo Foo { get { return this.MyFoo; } }
(关闭正则表达式)。HUHUHUHU
→ public IFoo Bar { get { return this.MyBar; } }
(关闭正则表达式)。您可以在Visual Studio宏中使用多行搜索和替换,该宏为任务提供了不错的GUI。