Text-Processing
用第一個匹配組替換所有出現的模式
我必須從這個出發:
text match$something_here and match$xxx blablabla text match$something_else_here and match$xxx blablabla ...
對此:
text match$something_here and match$something_here blablabla text match$something_else_here and match$something_else_here blablabla ...
因此,對於文件中的每一行,我需要更改
xxx
第 2 次出現match$
之後的match$
.
:%s/match\$\zs\(\w\+\)\(.*match\$\)xxx/\1\2\1/
解釋
match\$\zs
:將比賽錨定在第一場match$
;在那之後我\zs
開始比賽,以避免另一個擷取組\(\w\+\)
: 在第一次出現後擷取文本match$
\(.*match\$\)
: 擷取之後的內容,直到第二次出現match$
,並擷取我們想要保留的內容xxx
: 匹配被替換的內容替換:第一次出現之後的文本,然後是中間的文本,然後是第一個文本(替換
xxx
)。