Back End Programming

よく使う正規表現を使った置換のためのチートシート

VS Code 正規表現

たくさんのコードを一気に置換しないといけないことってあります。
いちいち正規表現を思い出せないので、よく使う置換をチートシートにまとめました。随時追記していきマフ。

前提条件

使用ツールはVSコードです。
置換したいときは cmd + F で検索バーを開き以下のボタンをセットしておきましょう。置換できるように左側の三角ボタンを押し、ab -> ac (全てを置換)をセットしておくのがポイントです。

お品書き

  • 改行を取り除く
  • 2個以上のスペースを取り除く
  • URLなどの一括置換
  • 連番付きの文字列から数字を取り除く

改行を取り除く

いたってシンプル。

// 置換する文字列
\n
// 置換後の文字列
なし

2個以上のスペースを取り除く

もしタブを削除したい場合は(\t)に替えればオッケー。

// 置換する文字列
(\s)(\s)+
// 置換後の文字列
なし

URLなどの一括置換

一度書いたHTMLのソースコードをWordPressなどのショートコードに置き換えないといけないことってありますよね?
そんなときはこいつだ!URLのコード(https://exmample.com/)は適宜変えてください。

// 置換する文字列
<a href="https://exmample.com/(.*?)(\">)
// 置換後の文字列
<a href="<?php echo home_url('/$1')?>">

置換する文字列

* (.*?)なんかが入るけど特に指定なし
* (\値)バックスラッシュ以降に入る値は(.*?)のなかに最初に該当する値が出てきたときに対応。
ポイントなのはaタグの次に改行なしでimgタグなどが入ることが多いので一番最初の閉じタグ「">」を見つけて置換する文字列をa開始タグのみに限定しておくことです。

置換後の文字列

(.*?)に入った文字列は $1 を使って取り出せます。$2 になると二個目の(.*?)のこと。

練習用コード

<a href="https://example.com/company"><img src="company.jpg"></a>
<a href="https://example.com/gallery"><img src="gallery.jpg"></a>
<a href="https://example.com/contact"><img src="contact.jpg"></a>

置換結果

こんな感じでimgタグに影響及ぼさずに置換できます!

<a href="<?php echo home_url('/company')?>"><img src="company.jpg"></a>
<a href="<?php echo home_url('/gallery')?>"><img src="gallery.jpg"></a>
<a href="<?php echo home_url('/contact')?>"><img src="contact.jpg"></a>

連番付きの文字列から数字を取り除く

連番付きの文字列から文章を整形しないといけないことがあります。
そういうときはこんな感じで取り除けます。
改行もう一個多い場合は\n\nを置換して取り除けば良いです。

//置換する文字列
^[0-9]+$\n
//置換後の文字列
なし

置換後の文字列

^で最初は[0-9](数字)で始まって+で[0-9]の繰り返し(何桁でもオッケー)で$で[0-9](数字)で終わったら同行の改行を削除しています。

練習用コード

1
テスト1
2
テスト2
5
テスト5
12
テスト12

置換結果

テスト1
テスト2
テスト5
テスト12

関連記事もあわせてお読みください

Read More

記事のジャンル

管理人について

私、かみーゆ。フロントエンドエンジニア。普段はセブ島でエンジニア講師しています。好きなものは肉とビール。現在飲み仲間ゆるぼ。

About Me