正規表現の基礎と活用法
正規表現(Regular Expression / Regex)はテキストのパターンマッチングに使う記法で、検索・バリデーション・文字列置換など、開発の多様な場面で活躍します。学習コストはやや高めですが、一度身につけると作業効率が大幅に向上します。
正規表現の基本パターン
正規表現では特殊文字(メタキャラクター)を組み合わせてパターンを表現します。`.` は任意の1文字、`*` は直前の要素の0回以上の繰り返し、`+` は1回以上の繰り返し、`?` は0または1回を意味します。`\d` は数字(0〜9)、`\w` は英数字とアンダースコア、`\s` は空白文字を表します。`^` は行頭、`$` は行末を示します。Regex Studio ではパターンを入力するとマッチ箇所がリアルタイムでハイライトされるため、動作を確認しながら学習できます。
よく使う正規表現パターン集
メールアドレス検証には `^[\w\.-]+@[\w\.-]+\.[a-z]{2,}$` が基本です。電話番号(日本)は `^0\d{1,4}-?\d{1,4}-?\d{4}$` で多くのケースに対応できます。URL のマッチには `https?:\/\/[\w\.-]+` を使います。日本語のひらがな・カタカナは `[\u3040-\u309F]`・`[\u30A0-\u30FF]` の Unicode 範囲指定で扱います。これらのパターンは Regex Studio に貼り付けてフラグや構造を確認しながら調整するのが効率的です。
キャプチャグループの使い方
`()` でグループを作ると、マッチした部分を個別に取り出せます(キャプチャグループ)。例えば `(\d{4})-(\d{2})-(\d{2})` で日付文字列をマッチさせると、グループ1が年、グループ2が月、グループ3が日になります。`(?:...)` は非キャプチャグループで、グループ化したいが取り出す必要がない場合に使います。Regex Studio ではキャプチャグループの内容を一覧表示するため、複雑なパターンのデバッグに役立ちます。
フラグの種類と使い分け
JavaScript の正規表現では `g`(グローバル:全マッチを返す)、`i`(大文字小文字を区別しない)、`m`(複数行モード:^ と $ が各行に適用される)、`s`( . が改行にもマッチ)、`u`(Unicode モード)のフラグが使用できます。ほとんどの場合 `g` と `i` の組み合わせで対応できます。Regex Studio のフラグボタンで切り替えてリアルタイムに動作変化を確認できます。