regex - 如何仅在包含或不包含其他模式的行上替换模式?

标签 regex vim replace

说我有一个包含单词redblue的文本。

如何仅在所有包含blue的行中将green的出现替换为red

同样,如何在不包含单词blue的所有行中将green替换为red

最佳答案

在包含“红色”的行中将“蓝色”替换为“绿色”:

:g/red/s/blue/green

在不包含“红色”的行中进行替换:
:g!/red/s/blue/green

关于regex - 如何仅在包含或不包含其他模式的行上替换模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12010308/

相关文章:

python - 正则表达式 - 在文本中搜索相似的国家名称

linux - 终端中的 Vim 很慢

Git rebase 和 Vim 编辑器

javascript - 如何用 Greasemonkey 的用户脚本替换 JSON 字符串中的文本

javascript - 允许范围内的字母数字和点

java - 解决 JavaCC token 歧义

javascript - 使用正则表达式将 URL 中的与号 (&) 和空格转换为破折号 (-)

python - 如何在 VIM 中设置文件的正确路径?

c++ - C/C++ 替换/重定义规则?

string - 替换查询语句中的特殊字符?