1. ホーム
  2. regex

[解決済み] Vim Regex Capture Groups [bau -> byau : ceu -> cyeu] の略。

2022-04-25 14:07:23

質問

単語のリストがあります。

bau
ceu
diu
fou
gau

そのリストを化したい。

byau
cyeu
dyiu
fyou
gyau

コマンドを試したのですが、失敗しました。

:%s/(\w)(\w\w)/\1y\2/g

これがうまくいかない場合、Vimで正規表現キャプチャグループを動作させるには、何を変更すればよいのでしょうか?

どのように解決するのですか?

これを解決する一つの方法は、パターンを エスケープ の括弧で囲みます。

:%s/\(\w\)\(\w\w\)/\1y\2/g

少し短く(そしてより マジック -al) を使用することです。 \v を除くすべてのASCII文字が、この後のパターンに含まれることを意味します。 '0'-'9' , 'a'-'z' , 'A'-'Z''_' は特別な意味を持ちます。

:%s/\v(\w)(\w\w)/\1y\2/g

ご覧ください。