本文へスキップ
1123.net
JA
1123.net

ツールを検索

ツール一覧を絞り込めます。すべてお使いのブラウザ内で動作します。

入力するとツールが絞り込まれます。Enter キーで最初の結果を開きます。

正規表現テスター

この正規表現テスターは、JavaScript の正規表現をテキストに対して実行し、すべてのマッチ、その位置、キャプチャグループを表示します。パターンはローカルで評価されるため、何もアップロード・記録されません。

データはブラウザ内でローカルに処理され、当サイトのサーバーへアップロードされることはありません。

フラグ
マッチ (2)
Contact ada@example.com or grace@example.org for details.
  1. #1 ada@example.com 位置 8
  2. #2 grace@example.org 位置 27

このツールの使い方

  1. 1 正規表現を入力し、必要なフラグを選びます。
  2. 2 検索対象のテキストを貼り付けると、入力に合わせてマッチがハイライトされ一覧に表示されます。
  3. 3 よく使う例を選ぶと、動作するパターンから始められます。
  4. 4 マッチした値をコピーするか、フォームをクリアします。

計算式と計算ロジック

マッチの仕組み

new RegExp(pattern, flags).exec(text)

パターンはブラウザの JavaScript エンジンでコンパイルされます。g フラグがない場合は最初のマッチだけが返り、g がある場合はテキストの末尾までマッチを続けます。

フラグ

g 全体 · i 大文字小文字を区別しない · m 複数行 · s dotAll · u Unicode · y sticky

フラグはエンジンによるパターンの解釈を変えます。テスターはフラグを RegExp コンストラクターに渡し、構文エラーはエンジンのメッセージとともに報告します。

計算例

メールアドレスを検索する

サポートへのメッセージにメールアドレスが 2 つ含まれているとき。

  1. パターン: \b[\w.+-]+@[\w-]+\.[\w.]+\b
  2. フラグ: g
  3. 結果: ada@example.com と grace@example.org

各マッチは開始位置とともに一覧に表示されます。パターンに丸括弧がある場合は、キャプチャグループも表示されます。

日付をキャプチャする

ISO 形式の日付から年、月、日を抽出するとき。

  1. パターン: (\d{4})-(\d{2})-(\d{2})
  2. フラグ: g
  3. グループ: マッチごとに年、月、日

丸括弧で囲んだ部分は、パターン内の順序どおりにキャプチャグループとして返されます。

境界ケースと精度

壊滅的なバックトラッキング

(a+)+ のような入れ子の量指定子は、入力によってはエンジンの処理量が指数関数的に増えます。ページが応答しなくなったらパターンを単純にしてください。実行中の正規表現をテスターから中断することはできません。

長さ 0 のマッチ

^ や \b のようなパターンは空文字列にマッチすることがあります。テスターは空のマッチの後に検索位置を進めるため、無限ループにはなりません。

JavaScript の構文のみ

テスターは PCRE や Python の構文ではなく、JavaScript の RegExp 構文を使います。後読みや名前付きグループは、それを実装しているエンジンでのみ使用できます。

よくある質問

マッチが 1 件しか返らないのはなぜですか? +

すべてのマッチを検索するには g(global)フラグが必要です。これがない場合、テスターは最初の結果で停止します。

キャプチャグループとは何ですか? +

パターン内の丸括弧で囲まれた各部分がテキストをキャプチャします。グループは左から右へ番号が振られ、マッチの横に表示されます。一致しなかった省略可能なグループは ∅ と表示されます。

パターンとテキストはアップロードされますか? +

いいえ。マッチングはブラウザ内のネイティブ RegExp エンジンで実行され、サーバーへ送信されることはありません。

正規表現が遅いのはなぜですか? +

入れ子の量指定子やあいまいな選択肢は、壊滅的なバックトラッキングを引き起こすことがあります。パターンをより具体的に書き直すか、アンカーを付けて検索範囲を狭めてください。

名前付きグループに対応していますか? +

エンジンはモダンな JavaScript 構文をそのまま受け取るため、ブラウザが対応していれば名前付きグループも使えます。結果一覧には番号付きグループが表示されます。