正規表現テスター

Rust の regex エンジン(WebAssembly)で正規表現をリアルタイムにテスト。マッチのハイライト、キャプチャグループと名前付きグループ、i/m/s フラグ、パターン保存に対応。

入力内容とファイルはブラウザ内に留まります

フラグ

パターンを試すテキストを入力または貼り付けるか、例を読み込んでください。

マッチ

パターンを入力すると、一致箇所とその位置、キャプチャグループがここに表示されます。

一致数

保存済みパターン

保存済みパターンはまだありません。

名前パターン操作

例

名前パターン操作

パターンを保存

このページの内容

正規表現を書くと、テストテキスト内のすべてのマッチが入力に合わせてハイライトされ、その下に位置とキャプチャグループが一覧表示されます。パターンは WebAssembly にコンパイルされた Rust の regex クレートで実行されるため、構文と動作は JavaScript ではなく Rust のものです。

詳細な機能

文字クラスと \p{Cyrillic} のような Unicode クラス、欲張り・最短一致の量指定子、選択、アンカー、単語境界 \b、番号付きグループ、名前付きグループ (?<name>…) または (?P<name>…)、非キャプチャグループ、(?i) などのインラインフラグに対応しています。先読み・後読みと \1 のような後方参照はこのエンジンではサポートされず、代わりにエンジンのエラーが表示されます。その代わりマッチング時間は入力に対して線形なので、(a+)+$ のようなパターンでもページが固まりません。

フラグ:i は大文字小文字を無視し、m は ^ と $ を各行にマッチさせ、s は . を改行にもマッチさせます。グローバル をオフにすると最初のマッチだけが表示されます。Rust エンジンでは Unicode モードが常に有効なので、\w、\d、. は ASCII 以外の文字・数字・記号にもマッチします。位置は JavaScript の文字列インデックス(UTF-16、絵文字は 2)です。一覧には最初の 50 件が表示され、カウントは 10,000 件で止まります。

処理はすべてローカルで行われます。パターンを保存 を押したときだけ、パターンが名前、フラグ、サンプルテキストとともにこのブラウザーの localStorage に保存されます。5 つの組み込みの例(メール、IPv4 アドレス、日付、16 進カラー、URL)はワンクリックで読み込めます。

実用例

名前付きグループ:(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) を Released 2026-10-06, patched 2026-11-02 に適用すると 2 件マッチします。1 件目は [9-19] の 2026-10-06 で、year が 2026、month が 10、day が 06 です。

大文字小文字を無視した選択:error|warn を i フラグ付きで ERROR: disk full と Warn: low memory の 2 行に適用すると、ERROR と Warn にマッチします。

行アンカー:^\w+ を alpha one と beta two の 2 行に適用すると alpha だけにマッチし、m フラグを付けると alpha と beta にマッチします。

未対応の先読み:foo(?=bar) は “look-around, including look-ahead and look-behind, is not supported” というエラーで拒否されます。代わりに foo(bar) でマッチさせ、グループを使ってください。

このツールの使い方

  1. パターンを入力する

    パターン に式を入力します。前後のスラッシュは不要です。チートシート によく使うトークンがまとめられています。

  2. フラグを設定する

    フラグ で必要に応じて 大文字小文字を区別しない、複数行、ドットですべてに一致 にチェックを入れます。最初のマッチだけを見るには グローバル を外します。

  3. テストテキストを追加する

    テスト文字列 にテキストを貼り付けると、入力に合わせてマッチがハイライトされます。

  4. マッチを確認する

    マッチ の一覧に、各マッチの [start-end] の位置とキャプチャグループが表示されます。

  5. 保存・再利用する

    パターンを保存 で式を保存し、保存済みパターン から 読み込み するか、例 のいずれかから始めます。

ヒントとベストプラクティス

  • 先読み・後読みや \1 を使う JavaScript や PCRE のパターンは書き換えが必要です。周囲のテキストをグループでキャプチャするか、条件をコード側で確認してください。
  • / はエスケープ不要ですが、リテラルのドットは必要です:“.” には \. と書きます。
  • インラインフラグはパターン内でも使えます:(?i)error は i フラグ付きの error と同じです。
  • 保存したパターンはこのブラウザーにのみ残ります。サイトデータを消去すると削除されます。
  • 単語の前後に \b を付けると(\bcolou?r\b)、colours が colour としてマッチしなくなります。