本文へスキップ
ToolDesk

正規表現テスター

正規表現をブラウザ内で即時テスト。マッチ位置・キャプチャグループをハイライト表示。

開発

このツールについて

正規表現は、文字列の中から「特定の形」を探すためのパターン記法です。このツールはパターンを対象テキストに当ててマッチ箇所をその場でハイライトし、キャプチャグループの中身も表示します。実行も含めすべてブラウザ内で行われ、入力は外部へ送信されません。

基本の記号

  • . … 任意の 1 文字/\d … 数字/\w … 英数字とアンダースコア/\s … 空白。
  • * … 0 回以上/+ … 1 回以上/? … 0 か 1 回/{2,5} … 回数指定。
  • [abc] … いずれか 1 文字/^ … 行頭/$ … 行末/\b … 単語の境界/( ) … グループ化と取り出し。

貪欲(greedy)と控えめ(lazy)

a.*b のような * や + は、既定で「できるだけ長く」一致します(貪欲)。<.*> を <a><b> に当てると全体が 1 つのマッチになります。最短で止めたいときは * や + の後ろに ? を付けて .*?(控えめ)にします。<.*?> なら <a> と <b> を別々に拾えます。抽出がうまくいかないときは、まずここを疑うと解決しやすいです。

主なフラグ

  • g … すべてのマッチを探す/i … 大文字小文字を区別しない。
  • m … ^ と $ を各行の行頭・行末に/s … . を改行にも一致させる。
  • u … Unicode モード(絵文字や \p{...} を正しく扱う)。

「壊滅的バックトラッキング」(ReDoS)に注意

(a+)+$ のように繰り返しが入れ子になったパターンは、一致に失敗する入力を与えると試行回数が爆発的に増え、処理が固まることがあります(ReDoS と呼ばれる遅延・停止)。外部からの入力に正規表現を使うサービスでは特に危険なので、繰り返しの入れ子は避けるのが安全です。このツールは暴走を防ぐためマッチ件数に上限を設けています。

使い方

  1. パターン欄に正規表現を入力し、必要なフラグ(i/m/s/u)を選びます。
  2. 対象テキストを入力すると、マッチした箇所がハイライトされます。

よくある質問

どの正規表現エンジンで動きますか?

ブラウザ標準の JavaScript の正規表現エンジンで実行されます。実際のマッチ結果は常に JavaScript のものです。他言語との違いは互換性チェックとして別途指摘します。

どんなフラグに対応していますか?

g(全体検索)、i(大文字小文字を区別しない)、m(複数行)などの標準的なフラグに対応しています。全マッチを一覧するため、内部的にグローバル検索として扱います。

キャプチャグループの中身も確認できますか?

はい。マッチ位置のハイライトに加え、括弧で取り出したキャプチャグループの内容も確認できます。抽出ルールの検証に役立ちます。

他言語(Python・Go・PCRE)との違いも分かりますか?

はい。実行は JavaScript エンジンですが、指定したフレーバーに持っていく際の注意点(名前付きグループの書き方、後方参照・後読みの非対応、\d の扱いの違いなど)を指摘します。移植時のミスを事前に防げます。

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

いいえ。処理はすべてブラウザ内で完結し、パターンや対象テキストが外部に送信されることはありません。ログや個人情報を含むテキストでも安心して試せます。

大量にマッチする場合はどうなりますか?

暴走を防ぐためマッチ件数には上限があり、極端に多くのマッチが出る場合は途中で打ち切られます。対象を絞るか、パターンをより具体的にすると扱いやすくなります。