アップロードなし, 100%ローカル, アカウントなし

正規表現テスター

パターンを入力し、フラグを選んで、テキストに対してテストします。一致箇所はインラインでハイライトされます。キャプチャグループは一致ごとに一覧表示されます。何もブラウザを離れません。

正規表現テスターの仕組み

正規表現テスターでは、JavaScriptの正規表現を記述し、サンプルテキストを貼り付けると、すべてのマッチがリアルタイムでハイライト表示されます。キャプチャグループはテキスト下部の表に表示されるため、スクリプトを実行しなくても各グループのキャプチャ内容を確認できます。サポートするフラグはg(グローバル)、i(大文字小文字を区別しない)、m(マルチライン)、s(dotAll)、u(Unicode)、y(sticky)です。入力内容はいっさいデバイスの外に出ません。マッチングエンジンはサーバーではなく、ブラウザのタブに組み込まれたJavaScriptランタイムです。

内部では、ツールが入力されたパターンとフラグを使って標準のECMAScript RegExpコンストラクタを呼び出し、string matchAllイテレータですべてのMatchオブジェクトを収集します。グループ表はそれらのオブジェクトから直接構築されるため、表示内容は変換レイヤーを介さずに、Node.jsや本番コードのブラウザが返す結果とまったく同じです。

正規表現テスターの使い方をステップごとに解説

  1. パターンフィールドに正規表現を入力または貼り付けます。
  2. チェックボックスで必要なフラグ(g、i、m、s、u、y)を選択します。
  3. サンプルエリアにテストしたいテキストを貼り付けます。
  4. テキスト内でハイライトされたマッチと、下部のキャプチャグループ表を確認します。
  5. パターンを調整しながら結果がリアルタイムで更新されるのを確認します。

よくある使用例

  • データパイプラインにコミットする前に、プラスアドレスなどのエッジケースをメール抽出パターンが正しく処理するか検証する。
  • ログ行を解析するための名前付きキャプチャグループをデバッグし、各グループの値を実際のログサンプルで確認する。
  • uフラグ付きのURL照合正規表現がUnicodeドメイン名を正しく処理するか、ルーターに追加する前に確認する。
  • 検索と置換のパターンをインタラクティブにテストし、大きな設定ファイルで意図しない貪欲マッチが発生しないことを確認する。

よくある質問

入力した内容はサーバーに送信されますか?

いいえ。マッチングはブラウザのタブ内で組み込みのJavaScript RegExpエンジンを使って完全に実行されます。パターン、フラグ、サンプルテキストはどこにも送信されません。入力中にDevToolsのNetworkタブを開いて確認してください。リクエストは一切発生しません。

このテスターはどの正規表現の方言を使用しますか?

お使いのブラウザが実装するECMAScript(ES2022+)です。Node.js、Deno、およびモダンブラウザで使用されるものと同じ方言です。可変長の後読みや所有量指定子などのPCRE固有の機能はサポートされませんが、一般的なパターンのほとんどは同じように動作します。

正規表現が無効というエラーが出るのはなぜですか?

ブラウザのRegExpコンストラクタは、有効なECMAScript正規表現でないパターンに対してSyntaxErrorをスローします。よくある原因としては、エスケープされていないバックスラッシュ、閉じられていないグループ、またはuフラグなしで使用されたUnicodeプロパティエスケープ(\p{...})などがあります。

キャプチャグループ表には何が表示されますか?

見つかったすべてのマッチ(gフラグに従う)について、完全なマッチと各番号付きまたは名前付きグループが順に表示されます。名前付きグループはその名前が列ヘッダーになります。マッチに参加しなかったグループは空白で表示されます。

後読みを使うパターンをテストできますか?

はい。ただし、お使いのブラウザがサポートする固定長または可変長の後読みに限ります。ChromeとFirefoxは2020年から可変長後読みをサポートしています。Safariは2022年にサポートを追加しました。最近のブラウザであれば問題なく動作するはずです。

セッション中にオフラインになっても動作しますか?

はい。ページが読み込まれた後は、すべてのマッチングがネットワーク依存なしでブラウザのJavaScriptエンジンによってローカルに計算されます。接続を切断してもテストは中断されません。