我正在使用下面的正则表达式abc1,cde2,efg3替换为你好但不知何故它不起作用
:%s/\(\d\{2}:\d\{2}:\d\{2\}\s\)\([A-z0-9]*\)/hello/gc
Mar 17 02:25:01 abc1 micro:启动use.slice。
Mar 17 02:25:01 cde2 micro:启动use.slic
mar 17 02:25:01 efg3 micro:启动use.slic
答案 0 :(得分:4)
您可以使用\zs
来设置匹配将在替换中开始的位置。
:%s/\d\{2}:\d\{2}:\d\{2\}\s\zs[A-z0-9]*/hello/gc
如需更多帮助,请参阅:h /\zs
答案 1 :(得分:2)
您可以在vim
:
%s/\v(\d{2}:\d{2}:\d{2}\s+)[a-zA-Z0-9]+/\1hello/g
\v
用于非常神奇,可避免按旧BRE语法转义。\1
是对已捕获的组#1