regex - 用Vim中的长度替换与某个正则表达式匹配的字符串

标签 regex vim

在Vim中,如何用某个正则表达式匹配的字符串替换其长度,如下所示:

Regexp = "\w*"

"hello" -> "5"
"bye" -> "3"


有可能用:s来做还是我需要写一些脚本?
此致

最佳答案

用您的正则表达式替换“hello”,这应该在VIM中起作用:

:s/hello/\=strlen(submatch(0))/ 

关于regex - 用Vim中的长度替换与某个正则表达式匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5579003/

相关文章:

regex - 括号内带有元字符的 Vim 正则表达式

bash - 在许多文件中用制表符空格替换逗号

vim - 插入字符而不进入插入模式?

vim - 使用Vim,如何使用变量存储找到的模式数量?

java - URL 模式中带有 # 的 Spring Security

regex - Grep 在包含 n 个文件的文件夹中查找多个模式。如果找到模式的匹配项,则创建 mkdir

r - 导出多个匹配模式

Vim 重复在词尾追加一些内容

regex - 如何使用 Emacs 删除文件中的空行?

java - 如何在 Java 中匹配一串元组?