FIRST CH TOOLS / 31 Regex Tester

正規表現テスター

パターンとテキストを入れると、マッチした箇所がその場で色分けされます。キャプチャグループの中身・マッチの位置・置換した結果まで一度に確認でき、gimsuy のフラグも切り替えられます。JavaScript(ECMAScript)フレーバーで、ブラウザの RegExp がそのまま動いています。

入れるとその場で照合されます

パターン
/ /g
テスト対象のテキスト
マッチのハイライト
0
マッチ数
グループ数
最初の位置
処理時間
マッチとグループ
置換

置換は結果のプレビューだけで、上のテキストは書き換わりません。\n\t はエスケープとして解釈します。

読み取りの結果

    パターンもテキストもブラウザの外へ出ることはありません(照合はこのページの中の RegExp だけで動いています)。URLパラメータで直接呼び出せます: /regex/?pattern=%5Cd%2B&flags=g&text=a1b22c333/regex/?pattern=…&flags=gi&replace=%5B%241%5D

    How to Use

    1. パターンを入れるスラッシュの間に正規表現を書きます。/…/gi の形でコードから貼り付けた場合は、ボタン1つでスラッシュを外してフラグを取り込めます。よく使うパターン(メールアドレス・URL・日付など)から選ぶこともできます。
    2. テキストを貼る右側にマッチした箇所が色分けで表示され、下にマッチの位置とキャプチャグループの中身が並びます。フラグを切り替えると結果はその場で更新されます。
    3. 置換を確かめる置換後の文字列に $1$<名前> を書くと、置換した結果がプレビューされます。そのままコピーして使えます。

    About This Tool

    正規表現が「思ったとおりに書けているか」をその場で確かめるツールです。パターンとテキストを入れると、マッチした箇所がテキストの中で色分けされます。隣り合うマッチは色を交互にするので、どこからどこまでが1件なのかが見分けられます。長さ0のマッチ(\b や先読みだけのパターン)は細い縦棒で示すため、「何も見えないのに件数だけ増える」状態も目で確認できます

    キャプチャグループの中身を1件ずつ確認できます。マッチした文字列だけでなく、(…) で囲んだ各グループの値と、そのグループがテキストのどこにあったかを並べて表示します。名前付きグループ (?<year>…) は名前も添えて表示し、マッチしなかったグループは「(マッチなし)」と明示します。| を使ったパターンで「どの枝を通ったか」を追うときに役立ちます。

    置換の結果を、元のテキストを壊さずに試せます。置換後の文字列には $&$1$<名前> が使えます。1行の入力欄では改行を入れられないため、\n\t はエスケープとして解釈します。結果を入力へを押すと置換後のテキストを入力側へ移せるので、置換を何段か重ねた結果も確かめられます。

    つまずきやすいところを指摘します。g フラグが無くて1件しか見つからないとき、改行のあるテキストで .^$ の挙動が期待と違いそうなとき、(a+)+ のような入れ子の量指定子(ReDoSの原因)があるときに、その理由を日本語で表示します。マッチを集める処理は1秒で打ち切ります(1回の照合の中の後戻りには割り込めないため、極端なパターンでは一時的に反応が止まることがあります)。

    JavaScript(ECMAScript)フレーバーです。ブラウザの RegExp をそのまま呼んでいるため、ここで動いたパターンはそのままJavaScriptやNode.jsのコードに貼れます。逆に、PCRE(PHP)やPythonにしかない記法(\A ・アトミックグループ・所有量指定子・拡張モード)は使えません。u フラグを付ければ \p{sc=Han} のようなUnicodeプロパティで日本語を指定できます

    パターンもテキストも端末の外へ出ません。ログの整形と組み合わせるならテキスト・コード差分チェッカー、URLのクエリを分解するならURLパラメータ分解・UTMタグ編集、検査用のダミー文字列を作るならテストデータ生成が使えます。

    Other Tools