Visual Studio 正则表达式查找/替换错误

3
我正在使用查找/替换来将一系列标签更改为数据绑定文本。
基本上,我试图将类似以下的内容进行转换:
<asp:Label ID="lbl213" runat="server" />

<%# Eval("_213")%>

这是我的正则表达式

<asp:Label ID="lbl{\d*}" runat="server" />

这是我的替换

<%# Eval("_\1")%>

这是我的错误:
未知的“:”运算符参数。在搜索字符串中需要完整的正则表达式。
我该如何解决这个问题?
编辑: 我也尝试了以下方法
<asp{\:}Label ID="lbl{\d*}" runat="server" />

但是回应是:

未找到指定的文字。


1
我不懂ASP,所以我只是把这个放在注释里,但是...听起来你可能只需要转义冒号,像这样:: - crimson_penguin
我尝试转义冒号,但是没有成功。我尝试使用 FIND <asp{\:}Label ID="lbl{:z}" runat="server" /> REPLACE <%# Eval("\2")%>,但仍然没有成功。 - Chase Florell
把冒号去掉,看看是否能够工作怎么样?很抱歉我不能提供更多帮助;我真的不懂VC或ASP。如果您粘贴使用该正则表达式的实际代码,可能会有所帮助。另外还有两件事情需要注意:/可能需要转义,反斜杠本身可能也需要转义,例如\. - crimson_penguin
谢谢您的尝试。没有任何“代码”使用正则表达式。我正在使用内置于Visual Studio中的正则表达式“查找/替换”功能。我确实尝试了转义反斜杠,但似乎也无法以这种方式使其工作。非常令人困惑。 - Chase Florell
2个回答

2

哇塞,你基本上需要转义所有不是文本字符的东西。

\<asp\:Label ID\=\"lbl{:z}\" runat\=\"server\" \/\>

1
请注意,Visual Studio 的正则表达式风格非常不典型。在这里提到的大多数正则表达式风格中,除非它们是某些正则表达式结构的一部分,例如 (?:...)(非捕获组)或 (?<=...)(后向引用),否则冒号和尖括号字符没有特殊含义,因此无需对它们进行转义。 - Alan Moore

1

表达式:

\<asp\:Label ID="lbl{:d+}" runat="server" /\>

同样也可以正常工作。您只需要转义冒号和尖括号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接