简单正则表达式替换

时间:2013-09-03 21:48:38

标签: regex visual-studio-2008

我正在尝试使用'.UpdateText(“Text here”)的所有实例;'并把它变成'.Text =“Text here”;'

我已经梳理了正则表达式网站,但我似乎找不到这么简单的东西......任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:3)

确切正确的答案取决于使用的工具。

以下是sed的示例:

sed 's,\.UpdateText(\([^)]*\));,.Text = \1;,'

正则表达式,如果由评估它的工具支持,可能是以下之一:

.*UpdateText(\([^)]*\)).*
.*UpdateText\(([^)]*)\).*

并非所有正则表达式工具都支持“捕获组”。并且,这些工具在识别组的语法和输出中使用它之间存在差异。

对于Visual Studio 2008查找和替换(http://msdn.microsoft.com/en-us/library/vstudio/ewy2t5e0.aspx),这应该可以解决问题:

Find:    \.UpdateText(\([^)]*\));
Replace: .Text = $1

根据这个:http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.90%29.aspx

  

正则表达式之间存在许多语法差异   可用于查找内容和替换以及有效的内容   .NET Framework编程。例如,在查找和替换中   window,braces {}用于标记要替换的表达式:to   改变每次发生都不会没有,你会使用find   表达式{不}和替换表达式\ 1不是。

因此,这在Visual Studio 2012中适用于我:

Find:    \.UpdateText\(([^)]*)\)
Replace: .Text = $1

答案 1 :(得分:0)

Find:      \.UpdateText\({:q}\);
Replace:   .Text = \1;

注意如何在find中转义括号。 ':q'是VS正则表达式中引用的字符串。