はじめに
VScodeにおける正規表現を使った検索は知っていたが、置換する際に少し詰まったことがあったので記録しておく
結論
詳細
例として、
文字列(あいうえお)
文字列(かきくけこ)
のような文字列を
[あいうえお]
[かきくけこ]
に置換したい場合を考える。
(2行だけだとあまり効果がないですが、これが膨大な量だとたちまち便利になります)
正規表現
文字列\(([\s\S]*?)\)
で上記の文字列にマッチする。
詳細
↓
\(
: (
は正規表現で特別な意味を持つので\
でエスケープする
[\s\S]
: なにかしらの文字にマッチ
*?
: 最短一致を指定
([\s\S]*?)
: ()
で囲むことで、その部分を後で$1
で取得できるようになります。
VScode側の操作
- 上の画像のように、正規表現を上にセットし、
-
.*
のマークをクリックする - 下には置換したい文字列(今回でいうと
[]
)と正規表現で取得した部分を$1
に置き換えて入力します - 後は、右下の
Replace All
をクリックすれば以下のように置換が完了します。
[あいうえお]
[かきくけこ]
おわりに
矩形選択も便利だが、同じ文字列ではないなど複雑な場合は正規表現が使える。あまり頻繁に使う機会があるわけではないが、知っていると安心だと思います。