正規表現を段階的にテストする方法
簡単な回答
正規表現をテストするには、正規表現テスターを開き、正規表現フィールドにパターンを入力し、テスト テキストを入力すると、一致したものが即座に強調表示されます。このツールは、一致位置、キャプチャ グループを表示し、フラグ (g、i、m、s、u) をサポートします。すべての処理はブラウザ内でローカルに行われます。
導入
正規表現 (regex) は、テキストの一致、検索、または置換に使用されるパターンです。正規表現は強力ですが、読み取りとデバッグが難しいことで知られています。単一の文字が間違って配置されると、意味が完全に変わってしまう可能性があります。正規表現テスターを使用すると、サンプル テキストに対してパターンを試したり、強調表示された一致を確認したり、キャプチャ グループを検査したりできます。このガイドでは、無料のオンライン ツールを使用してブラウザで正規表現をテストする方法を説明します。
ステップバイステップ
-
Regex Tester ツールを開く
Regex Tester ツールのページに移動します。このツールには、正規表現パターン、フラグ、テスト テキストのフィールドがあります。
-
正規表現パターンを入力してください
正規表現パターンを入力します (スラッシュを囲まないでください)。たとえば、\d+ は 1 つ以上の数字に一致し、[A-Z]\w+ は大文字の単語に一致します。このツールは、入力時にパターンを解析します。
-
フラグを設定する
フラグを選択します: g (グローバル — すべての一致を検索)、i (大文字と小文字を区別しない)、m (複数行 — ^ および $ が行の境界に一致)、s (dotall — . 改行に一致)、u (Unicode)。ほとんどのテストでは g が使用されますが、場合によっては i が使用されます。
-
テストテキストを入力してください
テストするテキストを貼り付けるか入力します。このツールは正規表現を適用し、テキスト内のすべての一致を即座に強調表示します。
-
マッチを確認してグループをキャプチャする
このツールは、各一致をその位置と内容とともに表示します。パターンにキャプチャ グループ (かっこ) がある場合、各グループのコンテンツが表示されます。これを使用して、パターンが期待どおりに一致する (または一致しない) 理由をデバッグします。
例
すべての電子メールのようなパターンに一致する
入力: Pattern: [a-z]+@[a-z]+\.[a-z]+, Flags: gi, Text: 'Contact [email protected] or [email protected]'
出力: 一致: 「[email protected]」、「[email protected]」
キャプチャグループを使用して数値を抽出する
入力: パターン: (\d+)-(\d+)、フラグ: g、テキスト: 'Order 123-456 and 789-012'
出力: マッチ 1: '123-456' (グループ 1: '123'、グループ 2: '456')
マッチ 2: '789-012' (グループ 1: '789'、グループ 2: '012')
日付形式を検証する
入力: Pattern: ^\d{4}-\d{2}-\d{2}$, Flags: none, Text: '2026-09-02'
出力: 一致: '2026-09-02' (完全な文字列一致)
よくある問題
- 特殊文字のエスケープを忘れる - .、*、+、?、^、$、(、)、[、]、{、}、|、\ などの文字は特殊です。文字どおりエスケープするには \ を使用します。
- 貪欲なマッチングと遅延的なマッチング —* と + は貪欲です (可能な限り一致します)。追加 ?遅延マッチングの場合 (例: .*? は可能な限り一致しません)。
- 壊滅的なバックトラッキング (ReDoS) - ネストされた量指定子を含む一部のパターンでは、特定の入力で指数関数的に時間がかかる可能性があります。現実的な入力でテストし、タイムアウトを監視します。
- アンカー - ^ と $ を使用しない場合、パターンは文字列内の任意の場所に一致します。文字列全体と一致するには、^...$ を使用します。
ヒント
- 単純なパターンから始めて、徐々に複雑さを加えていきます。複雑な正規表現を一度にデバッグするのは非常に困難です。
- 読みやすくするために、名前付きキャプチャ グループ (?<name>...) を使用します。グループ名は、番号付きグループよりも意図を明確にします。
- 一致する入力と一致しない入力の両方でテストして、パターンが過剰に一致しないことを確認します。
- Regex Tester を使用すると、即座にプライベートなテストを行うことができます。パターンやテキストがブラウザーから離れることはありません。