使用正则表达式与Visual Studio的查找和替换

时间:2013-07-12 20:25:36

标签: regex visual-studio

我想通过我的程序进行查找和替换( CTRL SHIFT F )并替换所有函数声明,如下所示: / p>

void foo(int i) {

使用此(预定义的宏):

TestStart(foo)

我有正则表达式来捕获文本:

void (?<name>\w+)\(int i\) \{

但我需要一些帮助来替换。如何从上述正则表达式中引用name?我认为这是我最接近的尝试:

TestStart\(<name>\)

我已经尝试丢失了<>(){}的组合,但似乎都没有效果。帮助

2 个答案:

答案 0 :(得分:1)

我最终使用了这个:

TestStart($1)

Visual Studio不会使用\1作为对其他人建议的以前捕获的文本的引用。

答案 1 :(得分:0)

在Visual Studio中,您可以使用

形式的命名捕获的后引用

$ { + CAPTURE_GROUP_NAME + }

请参阅Substitutions in Regular Expressions

  

<强> ${name}   包含由替换字符串中由(?<name> )指定的命名组匹配的最后一个子字符串。有关详细信息,请参阅Substituting a Named Group

因此,在您的情况下,您搜索

void (?<name>\w+)\(int i\) \{

并替换为TestStart(${name})