正規表現テスト

正規表現パターンをリアルタイムでテストできます。マッチ箇所はハイライト表示されます。

/ /
0 マッチ数
0 キャプチャグループ数
テスト文字列を入力するとここにハイライト表示されます
キャプチャグループがここに表示されます

使い方

  1. 正規表現パターンを入力 — パターン欄に正規表現を入力します。たとえば \d{3}-\d{4} で 3 桁ハイフン 4 桁の数字パターンをテストできます。
  2. フラグを選択 (g/i/m) — g = 全マッチ取得、i = 大文字小文字を無視、m = 複数行モード。用途に応じて組み合わせます。
  3. テスト文字列を入力 — テスト対象のテキストを入力欄に貼り付けます。複数行も改行を含めてそのまま貼り付け可能。
  4. マッチ結果のハイライトを確認 — リアルタイムでマッチ箇所がハイライト表示され、マッチ数とキャプチャグループ数が即座に更新されます。
  5. キャプチャグループを確認() で囲んだサブパターンがマッチごとに個別表示。バリデーション設計やログ抽出に活用できます。

こんな場面で使えます

  • メール・電話番号のバリデーション — フォーム入力チェックパターンを試行錯誤して仕上げる
  • ログから IP / 日付 / エラー抽出 — nginx ログ・アプリログから特定パターンを取り出すパターン設計
  • URL ルーティング設計 — Express / Rails / Django のルート定義に使う正規表現を事前検証
  • CSV / TSV のフィルタリング — 特定列・特定パターンの行だけ抽出する前置きルール作り
  • テキスト一括置換の準備 — VS Code / sed / awk に渡す前にブラウザで動作確認

よくある質問

どの正規表現フラグに対応していますか?

本ツールの UI で選択できるのは g (グローバル)、i (大文字小文字無視)、m (複数行) の 3 種類です。s (dotall)、u (unicode)、y (sticky) は現在 UI 非対応のため、これらを試したい場合は JavaScript コンソール等で直接 RegExp を組み立ててください。

キャプチャグループの結果は確認できますか?

はい、() で囲んだサブパターンがマッチ単位で「グループ 1」「グループ 2」として個別に表示されます。名前付きキャプチャグループ (?<name>...) もそのまま動作します。

正規表現の構文エラーは表示されますか?

はい、不正な正規表現 (括弧の不一致・文字クラスの誤り等) を入力すると JavaScript エンジンが返すエラーメッセージが即座に表示されます。Invalid escape など具体的な原因が判ります。

よく使う正規表現サンプルはありますか?

メール: /^[\w._%+-]+@[\w.-]+\.[A-Za-z]{2,}$/、URL: /^https?:\/\/[^\s]+/、日本の郵便番号: /^\d{3}-\d{4}$/、電話番号 (国内): /^0\d{1,4}-\d{1,4}-\d{4}$/、日付 (YYYY-MM-DD): /^\d{4}-\d{2}-\d{2}$/ など。詳しくは 正規表現 入門ガイド を参照。

JavaScript と Perl/PHP の正規表現はどう違いますか?

基本構文は共通ですが、JS には先読み/後読みの一部 (?<=) が比較的新しい、文字列内の \ エスケープを 1 段階多く書く必要がある、フラグの並びが言語ごとに異なるなどの差があります。本ツールは JS RegExp に基づくため、JS 実装で動かす予定のパターンを直接テストできます。

日本語 (UTF-8) のマッチはできますか?

はい、漢字・かな・カタカナを含むテキストも扱えます。文字クラスで [あ-ん] のようにかな範囲を指定する記法が利用できます。Unicode プロパティエスケープ \p{Script=Hiragana} 等は u フラグが必要ですが、本ツール UI では u フラグは現在非対応です。

改行を含むテキストはどう扱いますか?

複数行モード (m フラグ) を有効にすると ^$ が各行の先頭/末尾にマッチします。. は標準では改行にマッチしないため、改行を含めて貪欲に取りたい場合は [\s\S]* を使うか、新しい s フラグを試してください。

後方参照や先読み (?=) は使えますか?

はい、後方参照 \1 / \2... や、肯定先読み (?=...)、否定先読み (?!...)、肯定後読み (?<=...)、否定後読み (?<!...) が動作します。後読みは比較的新しい仕様で、古いブラウザでは未対応の可能性があります。