4250682 orderNumber: 60360981400 orderID:4250682
" 60360981400"之间可能有空格或标签。和" orderID"。如何匹配这些空格并用一个空格替换它?
orderNumber:\d\+.*orderID
这可以匹配模式。但是如何取代'。*'有一个空间?
答案 0 :(得分:3)
如果只想匹配正则表达式的一部分,可以使用\zs
(匹配开始)和\ze
(匹配结束)表达式:{{1}之前的匹配部分} \zs
之后将被丢弃,因此内部匹配将被替换:
\ze
有关其他详细信息,请参阅:help \zs
。
答案 1 :(得分:0)
为了用一个空格替换连续空格的所有实例,您可以使用空格元字符\s
,如:s/\s\+/ /g
中所示。
或者查看分组和反向引用::s/\(orderNumber: \d\+\).*\(orderID\)/\1 \2/
http://vimregex.com/将解释上述所有内容以及更多内容。