頑張らないために頑張る

ゆるく頑張ります

VSCodeで検索・置換するときの正規表現チートシート

Posted at — Sep 17, 2025

コードを書いていると、こんな作業にぶち当たることがあります。

そんな面倒なテキスト操作を解決してくれるのが「正規表現」です。Visual Studio Code (以下、VSCode) の検索・置換機能で正規表現を使えば効率は劇的に向上します。

この記事では、基本的な使い方から一歩進んだテクニックまで、実用的な例を交えながら分かりやすく解説します。

準備:正規表現モードをONに

まずはVSCodeで正規表現を使うための準備です。

  1. Ctrl+F (Windows/Linux) または Cmd+F (Mac) で検索ウィンドウを開きます。
  2. ウィンドウの右側にある .* というアイコンをクリックして、青く点灯させます。

alt text

これで準備は完了です。入力したテキストが正規表現として解釈されるようになります。

基本的な表現

ここでは、頻繁に使う基本的な正規表現の記号(メタ文字)についてです。

記号 意味 使用例
. 任意の1文字(改行を除く) a.cabc, aec, a3c などにマッチします。
* 直前の文字の0回以上の繰り返し ab*cac, abc, abbbc などにマッチします。
+ 直前の文字の1回以上の繰り返し ab+cabc, abbbc にはマッチしますが、 ac にはマッチしません。
? 直前の文字の0回または1回 ab?cac, abc にはマッチしますが、 abbc にはマッチしません。
\ メタ文字のエスケープ \.. という文字そのものにマッチします。*+ も同様です。
[ ] 文字クラス(角括弧内のいずれか1文字) [abc]a, b, c のいずれか1文字にマッチします。[a-z] のように範囲指定も可能です。
[^ ] 否定文字クラス(角括弧内の文字以外) [^abc]a, b, c 以外の任意の1文字にマッチします。
^ 行の先頭 ^hoge は行の先頭にある hoge にのみマッチします。
$ 行の末尾 hoge$ は行の末尾にある hoge にのみマッチします。
` ` OR条件

ショートカット

毎回 [0-9][a-zA-Z0-9_] と書くのは面倒です。そんな時に使える、便利なショートカットがあります。

グループ化と繰り返し

正規表現の真価は、パターンを組み合わせて使えるところにあります。

グループ化 ()

丸括弧 () で囲むと、複数の文字を一つのまとまりとして扱えます。

繰り返しの回数指定 {}

波括弧 {} を使うと、直前の文字やグループが繰り返される回数を細かく指定できます。

最長マッチ (Greedy) vs 最短マッチ (Lazy)

*+ は、デフォルトでは条件に合う最も長い文字列にマッチします。この方法を欲張り(Greedy)マッチと言います。「最も多く(長く)」だから欲張りなんですね。しらんけど_( _´ω`)_ペショ

全体マッチをを避けたい場合、*+ の後ろに ? をつけます。すると、条件に合う最も短い文字列にマッチするようになります。この方法を怠惰(Lazy)マッチと言います。「長いものがあろうと最短しか取らない」から怠惰なんですね。しらんけど_( _´ω`)_ペショ

置換で使えるキャプチャ機能

正規表現が最も輝くのは「置換」機能と組み合わせたときです。先ほど解説した() によるグループ化は、マッチした部分を後で再利用するために「キャプチャ」する役割も持っています。

置換文字列での再利用 $1, $2

検索パターン内で () を使ってキャプチャした部分は、置換文字列の中で $1, $2… のようにして呼び出せます(1番目の括弧が $1、2番目が $2)。

例1: 名前の順番を入れ替える

例2: MarkdownのリンクをHTMLタグに変換する

検索パターン内での再利用 \1, \2

() でキャプチャした内容は、同じ検索パターンの中で \1, \2 を使って参照することもできます(後方参照)。

実践ユースケース集

最後に、日常的なコーディングで役立つ実践的な例をいくつか紹介します。

1. 末尾の不要な空白を削除する

2. JavaScriptの console.log() をすべて削除する

3. 日本語の文字を検索する

日本語の文字(ひらがな、カタカナ、漢字)を含むテキストを検索したい場合に便利です。

まとめ

正規表現は、慣れるまで少し時間がかかるかもしれませんが、一度身につければあなたの強力な武器になります。最初は簡単なパターンから試していき、少しずつ複雑なパターンに挑戦してみてください。

また、「Regex101」のようなサイトを使えば、正規表現の動作をリアルタイムで確認しながら学習できます。

参考資料

comments powered by Disqus