はじめに
VScodeでプログラムを修正する作業などがありますが、
ソースコードすべてが同じわけではないけど、一部の箇所だけ、まとめて置換したいという時に
便利な方法です。
ルールに置換をかける
値で置換をかけるのがいつもの置換、ルールに置換をかけるのが正規表現による置換。
test1 = data(AAAAA).A
test1 = data(BBBBB).B
test1 = data(CCCCC).C
ここでは上記のような「data(XXXX)」部分を一括で置換したいとします。
置換機能で[.*][マークの正規表現を使用する]を押します。
変更したい箇所の共通部分を入力して.*を入れます。
.*には共通部分以降が選択されます。
\(バックスラッシュ)
でどこまで置換したいか選択できます。
今回の場合
data.*\)
と置換項目欄に入れて変更したい置換内容(今回だとdemo
)を入力すると
data(XXXXX)
部分がdemo
に置換できます。
今回使用している正規表現の意味
-
「.」(ピリオド)
は「改行以外の一文字」という正規表現で「あ」でも「a」でもなんでもいいのですが「.」ピリオド一つで1文字を表しています。 -
「*」(コメ)
は「その直前の文字が0回以上繰り返す」という正規表現で「テス*ト」と入れると「テト、テスト、テススススト」などが検索で引っかかります。 -
「\」(バックスラッシュ)
は直後の1文字をエスケープします。「(」(丸かっこ)
など、正規表現が特別な認識をしてしまう文字に対してつけます。
いろんな正規表現置換
ゼロ埋め
「YYYY-M-D」を「YYYY-MM-DD」にゼロ埋めにする方法について説明します。
結構ややこしいです。
サンプルで以下のデータがあるとして進めて行きます。
2022-10-23
2023-2-3
このデータの場合
0埋めを行うとすると-([0-9]+)
で月と日を選択出来ます。
今回は日付が-(ハイフン)
が区切りなので先頭をハイフンを付けてますが、使うケースで選んでください。
-0*([0-9]{2,})
で数字二桁以上で選択して-$1
で二桁に整形し直します。
JSONフォーマットのキーのダブルクォーテーション除去
{"data": "abcd"}」のようなJSONフォーマットのキーのダブルクォーテーションの除去方法
以下のデータあるとします
[{"mail": "test1@example.com"},
{"mail": "test2@example.com"},
{"mail": "test3@example.com"},
{"mail": "test4@example.com"},
{"mail": "test5@example.com"}]