在GVIM中使用正则表达式提取并使用字符串的一部分

时间:2010-05-20 11:19:28

标签: regex vim

我有一个字符串:

doCall(valA, val.valB);

在GVIM中使用正则表达式我想将其更改为:

valA = doCall(valA, val.valB);

我该怎么做呢?我使用%s进行基本正则表达式搜索并在GVIM中替换,但这与我的正常用法略有不同。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用:

%s/\vdoCall\(<(\w*)>,/\1 = doCall(\1,/

\v在正则表达式中启用“更多魔法” - 这里不是必需的,但我通常使用它来使表达式更简单。 <…>匹配单词边界,中间部分与第一个参数匹配,并将其放在第一个捕获组中。替换使用\1来访问该捕获组并插入右侧两个位置。