ガイド

正規表現テスターの使い方

正規表現は、テキストから「この形だけ抜く」「この形を別の形に置き換える」ときの道具です。いきなりエディタや本番DBで一括置換すると、想定外の行まで書き換わる事故が起きやすいので、まず小さなサンプルで当たりを付けるのが定石です。 正規表現テスター は、パターンのマッチ位置、キャプチャグループ、置換プレビューをブラウザ内で即確認できます。入力はサーバに送りません。

正規表現テスターで試す前に

本番の一括置換やバリデーションを書く前に、10〜30行のサンプルだけをテスターに貼り、「想定どおりの行だけ」がマッチするかを確認する習慣が事故を減らします。 特にメールアドレスや電話番号は、正規表現1本で完全捕捉しようとすると保守が難しくなりがちです。まずは明らかな形式だけ拾い、例外は別処理に回す設計も検討してください。

このツールでできること・できないこと

できることは、JavaScript(ECMAScript)の正規表現として、パターンが有効かどうかの確認、マッチ件数とマッチ文字列の一覧、キャプチャ(括弧で囲んだ部分)の取り出し、置換テンプレートのプレビュー、日本語向けサンプル(郵便番号・電話・メール・URL・全角カタカナなど)の読み解きです。

できないことは、Python・Perl・.NET・MySQLなど別エンジンとの完全一致の保証、超巨大ファイルの高速処理、本番データの自動修正、セキュリティ監査です。エンジンが違うと、\d の扱いや後読みの可否、エスケープの書き方が変わります。最終確認は実行環境のドキュメントと実データで行ってください。

基本の手順

  1. 正規表現テスターを開く
  2. 目的に近いサンプルを選ぶか、パターン欄と「対象テキスト」欄に手入力する
  3. g / i / m / s / u など必要なフラグをオンにする
  4. マッチ件数・ハイライト・キャプチャ一覧を見る。置換を試す場合は置換文字列を入れ、プレビューを確認
  5. 問題なければ、エディタやスクリプトへパターンをコピー(その環境でも再テスト)

フラグの目安

フラグは組み合わせ可能です。「マッチしないのにパターンは合っているはず」というときは、u の有無と、対象テキストの全角半角を疑ってください。

実務で使う場面の例

サンプルパターンの読み方

ツールに載っている郵便番号・電話・メール・URLの例は、学習と簡易マッチ向けです。070/080/090以外の番号、国際電話、新しいドメイン、IDN、省略URLなど、実データは例外だらけです。 「サンプルにマッチした=フォームで合格」とは限りません。逆に、サンプルにマッチしないからといってパターンが間違いとは限らず、フラグやエスケープの問題であることも多いです。

よくある失敗

キャプチャと置換のコツ

括弧 ( ) で囲んだ部分がキャプチャグループです。1番目は $1 や \1 で置換文字列に差し込めます。 名前付きグループ (?<name>…) も JavaScript では使えますが、エディタによってはハイライトされないので、テスターでグループ番号を確認してから本番へ持っていくと安全です。 置換で「マッチ全体を消す」より「一部だけ残す」パターンが多いので、まず g フラグ付きで件数を数え、想定より多い/少ないときは貪欲マッチを疑ってください。

行頭・行末は、ログ1行ずつ処理するとき m フラグが効きます。CSVの列を分解するときは、区切り文字が固定かどうかもセットで確認し、カンマを含むフィールドは単純な split 相当の正規表現だけでは壊れやすい点に注意してください。

前処理と後処理

マッチ結果の文字数を数えたいときは、抜き出した文字列を 文字数カウント に貼れます。半角カナや全角英数が混在するCSVは、 全角半角変換 や 半角カナ変換ガイド で揃えてから正規表現を当てると、パターンが単純になります。

よくある質問

どのエンジンですか?

ブラウザの JavaScript(ECMAScript)正規表現です。実行環境が違えば挙動も変わります。

入力したテキストはサーバに送られますか?

いいえ。パターンと対象テキストはブラウザ内だけで処理します。

郵便番号や電話のサンプルは本番で使えますか?

簡易確認用です。厳密なバリデーションは仕様書と実データで検証してください。

文字数も数えたい

マッチした文字列を 文字数カウント に貼って確認できます。

全角半角をそろえてから試したい

先に 全角半角変換 で正規化してから貼ると安定しやすいです。

パターンをコピーする前に、対象テキスト内に特殊文字(. * ? など)が含まれていないかも確認してください。ユーザー入力をそのまま正規表現に埋め込む場合は、エスケープが必須です。

正規表現テスターを開く

関連ガイド・ツール