機能の説明
Regex Explainer は、正規表現をトークンごとに分解した平易な説明に変換します。各トークン - アンカー、文字クラス、量指定子、グループ、エスケープ、選択(alternation)、リテラル - には、正確な断片とそれが何にマッチするかを示す専用の行が与えられ、さらにトークン数と、設定した各フラグの説明が付きます。不正なパターンはページを壊すのではなく、JavaScript エンジン自身のエラーを赤いエラーボックスに表示します。正規表現の学習にも、コードベースで見つけたパターンの解読にも最適です。100% クライアント側で、何もどこにも送信されません。
使い方
- Pattern を入力します(デリミタなし)。内訳は入力するそばから更新されます。
- 必要に応じて Flags を設定します - フィールドは
g i m s u d yを受け付けます。それ以外の文字は取り除かれます。 - または例チップ - Email、Date capture、URL、Lookahead - をタップして、フラグ付きの既製パターンを読み込みます。
- 右側のレポートを読みます(デスクトップでは追従表示): トークンごとに 1 行、上にトークン数バッジ、そして有効な各フラグとその意味。
- Copy breakdown は完全な説明をプレーンテキストでコピーします。アドレスバーは常にパターン(
?p=と?f=)を保持するので、URL をコピーすれば正確なビューをそのまま共有できます。
不正な正規表現(例: 閉じていない [)はエンジンのエラーメッセージを表示します - [ なら Invalid regular expression: missing terminating ] for character class - Invalid バッジ付きで、例外を投げることはありません。
例
以下の説明はすべて、各入力に対するツールの実際の出力です。
電話番号風パターン - ^\d{3}-\d{4}$ にフラグ g(内蔵サンプル、7 トークン):
| トークン | 説明 |
|---|---|
^ |
start of the string (or line with /m) |
\d |
a digit [0-9] |
{3} |
quantifier - repeat 3 time(s) |
- |
the literal “-” |
\d |
a digit [0-9] |
{4} |
quantifier - repeat 4 time(s) |
$ |
end of the string (or line with /m) |
フラグ g → global - find all matches。
Email 風パターン - [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-z]{2,} にフラグ gi(Email チップ、8 トークン)、抜粋:
[a-zA-Z0-9._%+-]→match any of: a-zA-Z0-9._%+-+→quantifier - 1 or more times (greedy)@→the literal "@"\.→an escaped literal "."{2,}→quantifier - repeat 2, time(s)- フラグ
i→case-insensitive
Date capture - (\d{4})-(\d{2})-(\d{2})(Date capture チップ、5 トークン): the literal "-" の 2 行に挟まれた、3 行の capturing group((\d{4})、(\d{2})、(\d{2}) それぞれに対応)。
Lookahead - \d+(?=px)(Lookahead チップ、3 トークン): a digit [0-9]、quantifier - 1 or more times (greedy)、そして (?=px) → lookahead assertion (positive)。
補足事項
- フラグリファレンス(各フラグは文字の横に意味を表示):
gglobal - find all matches ·icase-insensitive ·mmultiline (^ and $ match line boundaries) ·sdotAll - “.” matches newlines ·uunicode ·ysticky - match at lastIndex ·dindices - expose match boundaries. - JS
RegExp構文に対応。他のエンジンの拡張(POSIX クラス、uなしの\p{...})は異なる解析になる場合があります。 - プライベート: 解析は完全にローカルで、あなたのブラウザーの中で行われます。
- 関連ツール: Regex Tester(マッチをライブ実行)、Find & Replace、JSON to TypeScript。