コーディング

【備忘】vscode、正規表現で一括置換するの巻

  • このエントリーをはてなブックマークに追加
【備忘】vscode、正規表現で一括置換するの巻

お疲れ様です。ご無沙汰しております。

制作のナカムラです。

 

1年間育休を頂いて帰ってきたらブルーライトカットメガネが加水分解してました。

気分一新、メガネも一新しました。

 

今一番やりたいことはハンターハンターを一気読みする事です。

(因みに単行本は1冊も持ってませんがストーリーは何となく覚えています。蟻編くらいまで)

 

 

久々に戻って来て本日はVScodeで初めて使った正規表現を使った一括置換のお話。

色んな場所のコードやらテキストやらをまとめて変更するのに便利な一括置換。

(非常にどうでもいいですが今回のアイキャッチは置換あるあるです)

 

例えばWebサイトのすべてのページに置いて「株式会社中村屋」を「株式会社ナカムラヤ」に変える。

これはとても単純なのですが

 

<h1 class=”hogehoge”>ここには各ページごとに異なる文章が入っている</h1>

<h2 class=”hogehoge”>ここには各ページごとに異なる文章が入っている</h2>

 

に変更しようとすると非常に面倒な事がおきます。

 

異なる文章のせいでページ内検索には引っかからない、hタグの種類も変わってりゃ閉じタグも変えなきゃいけない。

 

ページ数が10ページくらいなら手でちまちま変えても良いのですが(それでも面倒だし見落としかねない)

30ページとかあったら地獄です。

途中で2回くらいは寝てしまう位の単純作業です。無理です。

 

そこで正規表現による一括置換の出番です。

私が使用しているのはvscodeですが、多分Dreamweaverでも同じ表現で大丈夫です。

 

 

わぁめっちゃ見にくい…!

順番に解説します。

 

①「正規表現を使います」ボタン。押さないと使えないので是非押しましょう。

 

②(.+)

.+で「一文字以上の文字列がある」。

カッコで閉じることでカッコ内のパターンにマッチする文字列を記憶。(ちょっと何言ってるかわかんないけど詳しくは後方参照で検索)

(.+)でまとめて「一定以上の文字列がある事を覚えておいてよね」位の感覚でいいと思う。

理解できない人はもうこれはおまじないだと思いましょう。そう、おまじない。

 

③$1

これは変数。

さっきの②で覚えた文字をこの中に入れてよね、という感じ。

 

④h1をh2に書き換えておく。閉じタグの方も忘れないでね。

 

これで一括置換を実行すると、冒頭太字で書いた

<h1 class=”hogehoge”>ここには各ページごとに異なる文章が入っている</h1>

<h2 class=”hogehoge”>ここには各ページごとに異なる文章が入っている</h2>

この変更が秒で終わります。

 

恐ろしいのはこの操作取り消しが出来ないので、実行する前はバックアップをきちんと取っておくことを忘れずに。

 

正規表現、難しいけど覚えると多分便利。

それではまた。

 

 

とてもとても参考にさせて頂いた記事↓

 

 

 

 

 

 

 

  • このエントリーをはてなブックマークに追加