2010-03-30 65 views
3

我正在用查找/替换更改为数据绑定文本一堆标签。Visual Studio的正则表达式查找/替换错误

基本上我想要的东西转换成像

<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,这就是为什么我只是把这个在评论,但是......这听起来像也许你只需要逃避冒号,如:\: – 2010-03-30 02:50:20

+0

我曾尝试逃跑结肠... 没有骰子。我试图** ** FIND''**更换**'<%#的eval( “\ 2”)%> ',但仍没有运气 – 2010-03-30 02:55:57

+0

什么完全移除冒号,只是为了看看它是否会工作?对不起,我不能更有帮助;我真的不知道VC或ASP。也许这会帮助你粘贴使用该正则表达式的实际代码?另外两个想到的事情:/或者需要逃避,而反斜杠可能需要自行逃脱;如在\\中。 – 2010-03-30 03:10:15

回答

1

表达:

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

将工作也很不错。您只需要转义冒号和尖括号。

2

好神圣的废话。基本上,你要什么都逃不过这不是一个文本字符

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

哦,太棒了!很好,至少你有它的工作。 – 2010-03-30 03:20:41

+1

请注意,Visual Studio的正则表达式非常不典型。在大多数你在这里提到的正则表达式中,冒号和尖括号字符没有特殊的含义,除非它们是像'(?:...)'(非捕获组)或者(? <= ...)'(lookbehind),所以没有必要逃避它们。 – 2010-03-30 03:54:27

相关问题