すべてのパターン発生を最初の一致グループに置き換える

すべてのパターン発生を最初の一致グループに置き換える

ここから始める必要があります。

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
...

したがって、ファイルの各行について、xxx2回目以降の内容match$と1回目以降の内容を変更する必要がありますmatch$

ベストアンサー1

:%s/match\$\zs\(\w\+\)\(.*match\$\)xxx/\1\2\1/

説明する

  • match\$\zs:最初にゲームを固定するmatch$。他のキャプチャグループを避けるために、通常\zsは試合を開始します。
  • \(\w\+\): 最初の発生後のテキストキャプチャmatch$
  • \(.*match\$\):2回目になるまで、次のコンテンツをキャプチャし、match$保持したいコンテンツをキャプチャします。
  • xxx:置き換えられたコンテンツと一致

代替:最初の項目以降のテキスト、その間のテキスト、最初のテキスト(交換xxx)です。

おすすめ記事