我想通过我的程序进行查找和替换( CTRL SHIFT F )并替换所有函数声明,如下所示: / p>
void foo(int i) {
使用此(预定义的宏):
TestStart(foo)
我有正则表达式来捕获文本:
void (?<name>\w+)\(int i\) \{
但我需要一些帮助来替换。如何从上述正则表达式中引用name
?我认为这是我最接近的尝试:
TestStart\(<name>\)
我已经尝试丢失了<>
或()
或{}
的组合,但似乎都没有效果。帮助
答案 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})
。