样本:
function foobar($arg1 = null, $arg2 = null) {
$_a = $arg1;
$_b = $arg2;
}
我想写一个搜索并替换vim中的正则表达式来做到这一点:
function foobar($arg1 = null, $arg2 = null) {
$_a = (!$arg1) ? $arg1 : 1;
$_b = (!$arg2) ? $arg2 : 1;
}
到目前为止,这是我尝试过的:
.
命令来重复我在vim中的最后一个动作,但它只会追加: 1;
到行中%s/\$_a\t=\t*/(!\$arg1)\t\?\t\2\t\:\t1/g
基本上我想做的是编写一个匹配的正则表达式,$arg1
然后用三进制运算符将其括起来,但是我无法在vim中访问该正则表达式匹配项。
任何帮助将不胜感激!
(它不必在vim中完成,我愿意接受使用perl之类的建议)
谢谢!!
尝试以下命令:
:%s/\(\$arg[0-9]\);/(!\1) ? \1 : 1;
上面的命令替换$arg1;
为(!$arg1) ? $arg1 : 1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句