EZ
EZ2Conv

正規表現テスター

入力しながらリアルタイムでJavaScriptの正規表現をテスト・デバッグでき、一致したテキストはサンプル内で直接ハイライト表示されます。g、i、m、s、u、yの各フラグを切り替え、キャプチャグループや名前付きグループを位置とともに確認し、マッチ統計をライブで表示できます。

Find all matches (not just the first)
14px
出力がここに表示されます...

How to Use

  1. テストを開始するために、パターンフィールドに正規表現パターンを入力してください
  2. テキストフィールドに、正規表現パターンを検証するためのテストテキストを入力してください
  3. マッチング動作を制御するために正規表現フラグ(g、i、m、s、u、y)を設定してください
  4. ハイライト表示、キャプチャグループの詳細、統計情報を含むマッチ結果を確認してください
  5. パターンを入力しながらリアルタイムで即座に正規表現のテスト結果が表示されます
  6. テストテキスト内のマッチ部分を視覚的にハイライト表示して、結果を簡単に識別できます
  7. 高度なデバッグのためのキャプチャグループと名前付きグループの詳細分析を提供します
  8. グローバル、マルチラインを含むすべてのJavaScript標準フラグを完全にサポートしています
  9. 正規表現の学習と素早い参照のための組み込みサンプルパターンを提供しています

正規表現をテスト・デバッグする

このテスターでできること

正規表現は、メールアドレスの形式や日付、電話番号など、繰り返し現れる文字列のパターンを簡潔に表した記述です。このツールは入力したパターンをブラウザーのJavaScript正規表現エンジンでコンパイルし、変更するたびにテストテキストへ即座に適用します。「実行」ボタンを押す必要はありません。一致した箇所はテキスト上でそのままハイライトされ、詳細パネルには各マッチのキャプチャグループと文字位置が一覧表示されます。

JavaScriptやNode.jsのRegExpと同じエンジンを使っているため、ここで見える結果はコードの動作とそのまま一致します。

こんなときに使う

パターンが思ったとおりに動かないときに、まず開きたいツールです。console.logを差し込んでスクリプトを何度も走らせる代わりに、代表的なテキストを貼り付けてパターンを調整すれば、ハイライトがリアルタイムに変化します。ゼロからパターンを組み立てるときにも便利で、まず緩く書いて、狙った箇所だけが光るまで少しずつ絞り込めます。

マッチ総数、グループ数、パターンとテキストの長さ、処理時間といったライブ統計は、破滅的バックトラッキングや意図せず貪欲になった量指定子を、本番に届く前に見つける手がかりになります。

例:日付を認識する

ログからISO形式の日付を抜き出したいとします。パターン (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) は 2026-07-18 に一致し、year・month・day という3つの名前付きグループに分解します。フラグ g を有効にすると、最初の1件だけでなくテキスト中のすべての日付が取得されます。\d{2} を \d{1,2} に変えれば、2026-7-8 のような1桁の月も受け付けます。

注意点とエッジケース

フラグ次第で挙動は大きく変わります。i は大文字・小文字を区別しない一致にし、m は ^ と $ を各行に対応させ、s はドットが改行にも一致するようにし、u は完全なUnicode処理を有効にします。. * + ? ( ) [ ] { } \ | ^ $ などの文字は特別な意味を持つため、文字どおりに一致させるにはバックスラッシュでエスケープが必要です。たとえばリテラルのドットは、任意の1文字に一致する . ではなく \. と書きます。名前のないグループは開き括弧の順に1から番号が振られ、(?:...) は何もキャプチャしないグループを作ります。

よくある質問

はい。パターン数やテキストの長さに制限はなく、マッチのハイライト、グループの確認、ライブ統計パネルもすべて使えます。有料機能や保存パターンの上限、作成が必要なアカウントはありません。
入力したパターンとテストテキストが端末の外に出ることはありません。どちらもブラウザー内蔵のRegExpエンジンに直接渡されてローカルで評価されるので、ログ行やユーザー情報のような機密データも手元に留まります。
不要です。パターンを入力してテストテキストを貼り付ければ、その場で一致結果が表示されます。登録もメールもログインも、あなたと結果の間に挟まりません。
JavaScriptの6つのフラグすべてです。g(グローバル、すべての一致を検索)、i(大文字・小文字を無視)、m(複数行アンカー)、s(ドットが改行に一致)、u(Unicode)、y(スティッキー)。どの組み合わせでも、切り替えた瞬間に結果が更新されます。
(\d{4}) のような通常のグループはキャプチャされ、グループ1、グループ2…と番号で参照します。(?<year>\d{4}) のような名前付きグループも同じ働きをしますが、ラベルが付くので括弧を数えずに year と読めます。詳細パネルには両方が、テキスト内での各グループの位置とともに表示されます。
多くの場合、エスケープし忘れた特殊文字が原因です。. * + ? ( ) [ ] { } などはそれ自体に意味があるため、リテラルのドットは \.、リテラルの疑問符は \? と書きます。フラグも確認してください。g がなければ最初の一致しか返らず、i がなければ大文字・小文字が区別されます。