我有一个包含以下代码的VIM缓冲区:
function foo () {...}
foo ();
foo();
if (foo ()) {...}
function bar() {...}
bar = function () {...}
for (...) {}
bar (foo());
我只想匹配函数声明和函数调用(这意味着将排除JavaScript语句和关键字。例如if
,for
,switch
等)最后一个字母和左括号但除了function () {...}
个案例。
因此,上例中匹配的部分将是:
function foo () {...}
foo ();
if (foo ()) {...}
bar (foo());
我试着这样做:
/[a-z] (
这匹配空格位于左括号的所有情况。
匹配这些案例的正则表达式是什么?
答案 0 :(得分:2)
此替换适用于您的样本:
:%s/\(if\|for\|while\)\@<!\zs\s\+\ze(//g
更多信息:
:help \@<!
:help \zs
:help \ze