開発 へ戻る
正規表現の構文解説 — 各パーツを日本語でツリー表示

正規表現の構文解説 — 各パーツを日本語でツリー表示

JavaScript の正規表現を AST に分解し、文字クラス・量指定子・キャプチャグループ・先読み/後読み・フラグを日本語で 1 つずつ解説します。サンプル正規表現付きで、メールアドレス / URL / 日付などのよくあるパターンが瞬時に理解できます。regexp-tree でパースし、エラー位置もそのまま表示。入力はブラウザ内でだけ処理。

開発テキスト変換

使い方

正規表現パターンとフラグ (g / i / m / s / u / y / d) を入力して「解析」を押すと、各パーツの意味がツリー表示されます。サンプルボタンでメールアドレス・URL・日付などのよくあるパターンをワンクリックで読み込めます。文字クラス・量指定子・キャプチャグループ・先読み/後読み・後方参照・アンカーすべてに対応。パース失敗時はエラーメッセージがそのまま表示されるので、原因の特定にも使えます。入力データは regexp-tree でブラウザ内パースされ、外部送信は一切ありません。

よくある質問

入力データはサーバーに送信されますか?
いいえ。正規表現のパース (regexp-tree) も解説生成も全てブラウザ内 JavaScript で完結します。入力したパターンは外部に出ません。
regex-test との違いは?
regex-test は「マッチするかどうか」「マッチした位置はどこか」を確認するツール。regex-explain は「パターン自体が何を意味しているか」を構造で説明するツール。同じパターンでも目的が違います。慣れないパターンを読むときや、他人の正規表現をデバッグするときに使ってください。
対応しているのは JavaScript 正規表現だけですか?
はい。本ツールは JavaScript (ECMAScript) の正規表現構文を前提に解析します。Python / Perl / PHP / .NET / Java など他言語との互換性のない記法 (`(?P<name>...)`、`\A`、`(?#comment)` など) はパースエラーになります。
どんな機能が分解できますか?
文字リテラル / メタ文字 (`\d \w \s . など`) / 文字クラス `[a-z]` / 否定文字クラス `[^...]` / 量指定子 (`+ * ? {n,m}`、貪欲/非貪欲) / グループ (`(...)`、`(?:...)`、`(?<name>...)`) / アンカー (`^ $ \b \B`) / 先読み・後読み (`(?=...) (?!...) (?<=...) (?<!...)`) / 後方参照 (`\1 \k<name>`) / 各種フラグ。
サンプルにある正規表現は実用ですか?
学習用です。メール / URL / 電話番号 / ISO 日付 / ハッシュタグ などの「だいたいの定型パターン」ですが、本番投入する前にユニットテストでエッジケース (TLD が `.museum` のメール、ローカル IPv6 URL、和暦の日付など) を確認してください。

類似のツール

正規表現テスター — マッチ / 置換のリアルタイム確認

正規表現テスター — マッチ / 置換のリアルタイム確認

パターンとフラグを入力するとテキスト内のマッチ箇所をリアルタイムでハイライト。キャプチャグループ・名前付きグループの内容も一覧表示。$1 などを使った置換プレビューにも対応。すべてブラウザ内で処理。

開発正規表現テキスト
テキスト一括置換 — 正規表現 + 後方参照 ($1) 対応

テキスト一括置換 — 正規表現 + 後方参照 ($1) 対応

テキスト中の文字列を一括置換。プレーン文字列のほか、正規表現 (大文字小文字を無視・複数行 (^$ を行ごと)・dot で改行も) + 後方参照 ($1 $2 / $<name>) に対応。改行は \n で入力可能、置換数も同時表示。すべてブラウザ内で処理。

開発テキスト
URL パース — ホスト / パス / クエリ / fragment

URL パース — ホスト / パス / クエリ / fragment

URL をブラウザ標準の URL クラスで protocol / host / port / path / query / hash などに分解し、クエリパラメータも自動で表に展開します。値はパーセントデコード後で表示。各パーツのコピーや、結果全体の JSON ダウンロードに対応。すべてブラウザ内で処理し、URL は外部に送信されません。

開発URL
JSON 整形・検証 — インデント / 圧縮 / エラー表示

JSON 整形・検証 — インデント / 圧縮 / エラー表示

JSON をブラウザ内で整形 (インデント指定) ・最小化・バリデーションします。エラー行・列を表示。データは一切外部に送信されません。

開発JSON整形