如何匹配vim中两个字符串之间的空格?

时间:2018-06-02 05:33:17

标签: vim

4250682 orderNumber: 60360981400                         orderID:4250682 

" 60360981400"之间可能有空格或标签。和" orderID"。如何匹配这些空格并用一个空格替换它?

orderNumber:\d\+.*orderID 

这可以匹配模式。但是如何取代'。*'有一个空间?

2 个答案:

答案 0 :(得分:3)

如果只想匹配正则表达式的一部分,可以使用\zs(匹配开始)和\ze(匹配结束)表达式:{{1}之前的匹配部分} \zs之后将被丢弃,因此内部匹配将被替换:

\ze

有关其他详细信息,请参阅:help \zs

答案 1 :(得分:0)

为了用一个空格替换连续空格的所有实例,您可以使用空格元字符\s,如:s/\s\+/ /g中所示。

或者查看分组和反向引用::s/\(orderNumber: \d\+\).*\(orderID\)/\1 \2/

http://vimregex.com/将解释上述所有内容以及更多内容。