regex - 替代字符串中组上的vim调用函数

标签 regex vim substitution function-call

如何从vim中的替代字符串调用函数?当我有:
%s/regex/string/g我希望该组作为参数并将其替换为函数的返回值:
%s/regex/call function(\1)/g所以组#1 将是函数的参数,函数的返回值将替换缓冲区中的所有匹配项。

有可能吗?

最佳答案

要使用 vimscript 表达式,您需要添加 \=到您的替换字符串:

%s/regex/\= function(submatch(1))/g

关于regex - 替代字符串中组上的vim调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9513014/

相关文章:

ruby - 正则表达式中的 `?i` 和 `?-i` 是什么意思?

regex - 如何用 Perl 中的计算表达式替换?

vim - VIM,在多个文件上运行命令

regex - 如何匹配 golang 正则表达式中的字符或字符串结尾?

javascript - .replace() 所有正则表达式不起作用的实例

shell - 从终端在 vim 中即时编辑 shell 命令

Vim:如何选择矩形区域并进行复制/粘贴

python - 使用特定版本的 Python 编译 vim

string - Lua:替换字符串中的字符列表

javascript - 为什么 [.\n]+ 不匹配字符串 'a\nb' ?