Vim:匹配字符串的正则表达式

Mih*_*agy 2 regex vim

Vim 中的哪个正则表达式将匹配no.以下字符串中的所有字符?

foo, bar, and baz, no. 13, qux
Run Code Online (Sandbox Code Playgroud)

换句话说,匹配必须是 foo, bar, and baz,

我是正则表达式的新手,在 Stack Overflow 上做了我的研究,一个建议是.+?(?= no.). 但它似乎只适用于正则表达式的正则(perl?)风味,而不适用于 Vim。

请帮忙。

也许我想要实现的目标有一个更简单的解决方案。我的最终目标是放在foo, bar, and baz大括号中,我计划要一个涉及正则表达式的全局替换命令。

Ken*_*ent 5

vim 中的这个正则表达式应该可以

.*\zeno
Run Code Online (Sandbox Code Playgroud)

例如,您在线路上执行此操作:

s/.*\zeno//
Run Code Online (Sandbox Code Playgroud)

该行将更改为:

no. 13, qux
Run Code Online (Sandbox Code Playgroud)

编辑

刚刚看到你的“最终目标”,你可以使用正则表达式:

:s/.*\zeno/{&}
Run Code Online (Sandbox Code Playgroud)

如果您不想包装逗号:

:s/.*\ze, no/{&}
Run Code Online (Sandbox Code Playgroud)