我认为这是一个非常简单的解决方案,但我一直试图找到大约一个小时的答案,似乎无法弄明白.
我正在尝试在Vim中进行查找/替换,以替换一系列以数字开头103
并且后跟四位数123
后跟相同四位数的数字,如下所示:
1033303
- > 1233303
1033213
- >1233213
我最接近的是:
%s/103\d\{4}/123\0/g
Run Code Online (Sandbox Code Playgroud)
然而,这导致整个数字匹配\0
,因此:
1033303
- > 1231033303
非常感谢您的帮助
Con*_*ner 26
你很近
%s/103\(\d\{4}\)/123\1/g
Run Code Online (Sandbox Code Playgroud)
之间的图案\(
和\)
是一个子匹配可以由被访问\1
,\2
等等中出现的顺序.有关:help \(
更多信息,请参阅
现在没有捕获组!
:%s/103\ze\d\{4}/123/g
Run Code Online (Sandbox Code Playgroud)
\ze
将在那里设置比赛的结束.这允许您匹配整个模式,但只对其中的一部分进行替换.
:h /\ze
:h /\zs
Run Code Online (Sandbox Code Playgroud)