1

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

void foo(int i) {

有了这个(预定义的宏):

TestStart(foo)

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

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

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

TestStart\(<name>\)

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

4

2 回答 2

1

我最终使用了这个:

TestStart($1)

Visual Studio 不会\1按照其他人的建议将 用作对先前捕获的文本的引用。

于 2013-07-12T20:35:11.803 回答
0

在 Visual Studio 中,您可以使用对命名捕获的反向引用,其形式为

${+ CAPTURE_GROUP_NAME+}

请参阅正则表达式中的替换

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

所以,在你的情况下,你搜索

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

并替换为TestStart(${name}).

于 2015-11-04T09:42:48.053 回答