我正在尝试使用'.UpdateText(“Text here”)的所有实例;'并把它变成'.Text =“Text here”;'
我已经梳理了正则表达式网站,但我似乎找不到这么简单的东西......任何帮助都会非常感激!
答案 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正则表达式中引用的字符串。