UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【vim】正規表現の$1を使った部分置換

vim正規表現$1を使った部分置換をしようとしてもできない

vim用の書き方をしないといけないのは知ってるけど毎回調べてるのでメモ

やりたいのは

12345

こういった文字列を

"12345",

のように置換したい

やり方

やり方は以下

s/\(.*\)/"\1",/

vim以外の正規表現でも検索文字列で () で括った部分は置換後も変更が行われない
そして、一般的には置換文字列の $1で検索文字列の () の中を参照することになる

ただし、vimの場合
()\(\)エスケープする必要があり、$1 ではなく \1 とする必要がある