使用正则表达式在Visual Studio中进行全局查找和替换

时间:2012-04-12 09:12:09

标签: regex visual-studio replace

在My Project中,我想将CssClass添加到所有asp:不具有CssClass属性的按钮。如何使用正则表达式来搜索和替换All?

搜索并替换此

<asp:Button ID="buttonSearch" runat="server" Text="Search" OnClick="buttonSearch_Click" />

进入以下

<asp:Button ID="buttonSearch" runat="server" Text="Search" OnClick="buttonSearch_Click"  CssClass="button-default" />

4 个答案:

答案 0 :(得分:1)

好吧,我自己解决了。

CTRL + SHIFT + H

找到什么

{\<asp\:Button(:b+<:w>=:q(\n)*)*}{(:b)*/*\>}

替换为

\1 CssClass="button-default" \2

答案 1 :(得分:0)

在整个项目中搜索<asp:Button并将其替换为<asp:Button CssClass="button-default"

答案 2 :(得分:0)

你无法使用“常规”VS查找/替换正则表达式,因为它们不支持lookaround assertions

但是,您可以使用特殊的plugin来完成此操作。它被称为正则表达式边距并支持.NET样式正则表达式:

Screenshot

搜索

<asp:Button\b(?![^<>]*\bCssClass)([^<>]*)/>

并将所有内容替换为

<asp:Button\1 CssClass="button-default" />

答案 3 :(得分:0)

似乎Visual Studio现在支持使用正则表达式查找和替换: https://docs.microsoft.com/en-us/visualstudio/ide/using-regular-expressions-in-visual-studio?view=vs-2019#capture-groups-and-replacement-patterns

微软说

  

Visual Studio使用.NET正则表达式来查找和替换文本。

在“查找和替换”界面中使用正则表达式之前,只需确保按下“正则表达式”按钮(这些按钮包含如下符号:。*): The "Find and Replace" interface, with regular expressions enabled

注意:如图所示,还可以按Alt + E在“查找和替换”界面中启用正则表达式!

您可以找到有关正则表达式以及“查找和替换”功能here

的更多信息。