正規表現テスターは、テストテキストに対して正規表現をリアルタイムで評価します。マッチした箇所は交互に色分けしてハイライトされ、キャプチャグループや名前付きグループもマッチごとに詳細表示されます。すべての標準フラグ(g、i、m、s、u、y)をサポートし、置換モードでは文字列がどのように変換されるかを確認できます。
正規表現はテキストパターンを表現する共通言語ですが、正しく書き上げるには試行錯誤が欠かせません。Regex Tester はその試行錯誤を即座に行えるようにします。パターンを入力すると、入力するそばからテスト用テキスト内のマッチ箇所がハイライトされます。
各マッチカードには、マッチした部分文字列、そのインデックス、そしてキャプチャグループ($1、$2 …)や名前付きグループが個別に表示されるため、グループが想定通りにキャプチャできているかを推測する必要はもうありません。JavaScript の正規表現フラグ6種すべてに対応しており、コンパクトなフラグ入力(gi、gim など)と、より分かりやすいチェックボックスの両方で指定できます。置換モードでは、指定したパターンと置換文字列で String.replace を実行し、$&(マッチ全体)、$1〜$9(グループ)、名前付きバックリファレンスに対応しています。
マッチング処理は JavaScript のネイティブ正規表現エンジンで実行されるため、結果は実際に本番環境のコードが動作する挙動をそのまま反映します。これには、後読み(lookbehind)のサポートや Unicode プロパティエスケープの扱いなど、PCRE や Python の re モジュールとは異なる JavaScript 特有の挙動も含まれます。ネストした量指定子など、特定の入力に対して指数関数的なマッチング時間を引き起こしうる「破滅的なバックトラッキング」のリスクがあるパターンについては、タブをフリーズさせるのではなく、実行時間が長いマッチとしてフラグが立てられます。そのため、危険なパターンを本番環境で実際のトラフィックにさらされてから発見するのではなく、テストの段階で捕まえることができます。すべての処理はローカルで実行されるため、入力した内容が手元のマシンから外に出ることはありません。
入力するたびに、マッチ箇所が紫と緑で交互にハイライトされます。スクリプトを実行することなく、正規表現が何をキャプチャするかを正確に確認できます。
各マッチについて、ソース内のインデックス、マッチした文字列、すべてのキャプチャグループ($1、$2、...)および名前付きグループとその値が表示されます。
g(グローバル)、i(大文字・小文字を無視)、m(マルチライン)、s(dotAll)、u(Unicode)、y(スティッキー)をサポート。入力またはチェックボックスで切り替え可能です。
$&、$1〜$9、$<name> などのバックリファレンスを含む置換文字列を入力できます。「置換」をクリックすると、テストテキストが即座に変換されます。
文字を入力するたびに出力が更新されます。「実行」ボタンは不要です。マッチ結果が正しく見えるまでパターンを調整し続けることができます。
正規表現の構文が無効な場合、JavaScriptエンジンの正確なエラーメッセージが表示されるため、構文ミスを素早く修正できます。
メールアドレス、電話番号、郵便番号などの正規表現を構築し、本番コードに組み込む前にエッジケースでテストします。
期待されるすべての形式にマッチするまで正規表現を調整し、ログ行から構造化されたフィールド(タイムスタンプ、ID、IPアドレスなど)を抽出します。
何百ものファイルに対して実行する前に、検索・置換用の正規表現が実際のコードやテキストで安全に機能するかを確認します。
先読み、後読み、非キャプチャグループ、Unicodeプロパティエスケープなどの機能を、安全で視覚的なサンドボックスで試すことができます。
コードから正規表現を貼り付け、マッチすべき入力を入力して、どこでマッチに失敗しているかを正確に把握します。推測はもう不要です。
DevSuite Proのドックにある正規表現アイコンをクリックします。パターン、フラグ、テストテキスト、置換フィールドを備えたパネルが開きます。
スラッシュの間に正規表現を入力します。フラグは直接入力するか(giなど)、下のチェックボックスで切り替えることができます。
「テストテキスト」エリアに検索対象のテキストを貼り付けます。マッチ箇所が即座にハイライトされます。
下の「マッチ詳細」リストで、各マッチのインデックスとキャプチャされたグループを確認します。グループが意図通りに機能しているか確かめてください。
$1、$&、$<name> などのバックリファレンスを含む置換文字列を入力し、「置換」をクリックしてテキストをその場で変換します。