正規表現テスター

リアルタイムのマッチハイライト、キャプチャグループ、置換プレビューで正規表現をテスト。全JavaScriptフラグをサポート。

このツールについて

^(?:[a-z0-9]+(?:\.[a-z0-9]+)*)@(?:[a-z0-9-]+\.)+[a-z]{2,}$ のようなパターンを頭の中だけでデバッグするのは大変です。この正規表現テスターなら、リアルタイムのマッチハイライト、番号付き・名前付きキャプチャグループ、ライブ置換プレビューで、パターンが何にマッチし、何を見逃しているかを入力しながら確認できます。

ブラウザのネイティブRegExpエンジン(JavaScriptやNode.jsと同じエンジン)で動作するため、結果は本番環境と同一です。6つのJavaScriptフラグすべてに対応しています:グローバルg)、大文字小文字無視i)、複数行m)、dotAlls)、Unicodeu)、stickyy)。

マッチビューではハイライトされたマッチをコンテキスト内で表示し、各マッチのインデックスとキャプチャグループ(番号付きおよび名前付き)の詳細を分解して表示します。置換ビューでは置換文字列(後方参照として$1$2など)を入力し、結果をリアルタイムで確認できます。ライブラリビューではワンクリックで読み込める一般的なパターンの厳選されたコレクションが利用できます。

すべての処理はクライアントサイドで完結します。パターンやテストデータがブラウザの外に出ることはありません。データ形式の検証が完了したら、JSONフォーマッターで整形したり、URLエンコーダーで特殊文字をエンコードできます。書いたUUIDパターンの検証が必要なら、UUIDジェネレーターのサンプルIDでテストしてみてください。

使い方

  1. パターン入力に正規表現パターンを入力します。パターンはスラッシュ区切りで表示されます。
  2. フラグバッジ(gimsuy)をクリックしてフラグを切り替えます。
  3. テスト文字列を入力または貼り付けます。マッチが即座にハイライト表示されます。
  4. マッチ&キャプチャグループセクションで、グループ値やインデックスを含む詳細なマッチ情報を確認します。
  5. 置換モードに切り替えて置換文字列を入力し、変換された出力を確認します。
  6. ライブラリを使ってメールアドレス、URL、IPアドレスなどの一般的なパターンをすばやく読み込みます。
  7. CopyをクリックするかCtrl+Shift+Cを押して、フラグ付きの完全な正規表現をコピーします。

よくある質問

このツールはどの正規表現エンジンを使用していますか?

このツールはブラウザに組み込まれたJavaScriptのRegExpエンジンを使用しています。結果はNode.jsや最新のブラウザで同じ正規表現を実行した場合と完全に一致します。

フラグの意味は何ですか?

g(グローバル)は最初のマッチだけでなくすべてのマッチを検出します。iは大文字小文字を区別しないマッチングにします。mは^と$を行境界にマッチさせます。sは.を改行にもマッチさせます。uは完全なUnicodeマッチングを有効にします。y(sticky)はlastIndexの位置でのみマッチします。

キャプチャグループはどのように機能しますか?

括弧()でキャプチャグループを作成します。各グループは内部のサブパターンにマッチしたテキストをキャプチャします。グループは左から右に1から番号が付けられます。名前付きグループは(?<name>...)構文を使用し、結果にその名前で表示されます。

置換での後方参照とは何ですか?

置換文字列では、$1、$2などが対応する番号付きグループでキャプチャされたテキストを参照します。$&はマッチ全体を参照します。$`と$'はそれぞれマッチの前後のテキストを参照します。

データは安全ですか?

はい。パターンマッチングはブラウザ組み込みのJavaScript RegExpコンストラクタ(DevToolsコンソールで使えるものと同じAPI)でローカル実行されます。ネットワークリクエストは一切発生せず、データがデバイスの外に保存・送信されることはありません。

正規表現パターンがブラウザをフリーズさせることはありますか?

ネストされた量指定子を持つ特定のパターン((a+)+など)は、特定の入力に対して壊滅的なバックトラッキングを引き起こす可能性があります。ブラウザが応答しなくなった場合は、ページをリロードしてパターンを簡略化してください。このツールは無限ループを防ぐためにマッチの繰り返しを制限しています。

関連ツール