開発者ツール / 20

正規表現トークン解説 & パターン解析

JavaScript正規表現をトークンごとに分解し、キャプチャグループ・文字クラス・量指定子などを平易な英語で解説します。

正規表現トークン解説 & パターン解析: TOEAは正規表現パターンを個々のASTトークンにパースし、各要素について平易な英語の説明を生成します。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

カテゴリ
開発者ツール
実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます
正規表現トークン解説&パターン解析ローカル処理

完全にブラウザ内で実行します

パターントークンの解説

トークンカテゴリ解説
/i正規表現フラグ有効なフラグ: 大文字と小文字を区別しない一致。
^アンカー文字列または行の先頭に一致します。
(グループキャプチャグループ#1を開始します。
[a-z0-9_\.-]文字クラス文字セット[a-z0-9_\.-]内の任意の1文字に一致します。
+量指定子直前のトークンに1回以上貪欲に一致します。
)グループキャプチャグループまたは非キャプチャグループを終了します。
@リテラルリテラル文字「@」に一致します。
(グループキャプチャグループ#2を開始します。
[\da-z\.-]文字クラス文字セット[\da-z\.-]内の任意の1文字に一致します。
+量指定子直前のトークンに1回以上貪欲に一致します。
)グループキャプチャグループまたは非キャプチャグループを終了します。
\.文字クラス / エスケープエスケープされた文字「.」
(グループキャプチャグループ#3を開始します。
[a-z\.]文字クラス文字セット[a-z\.]内の任意の1文字に一致します。
{2,6}量指定子の範囲明示的な範囲指定{2,6}に一致します。
)グループキャプチャグループまたは非キャプチャグループを終了します。
$アンカー文字列または行の末尾に一致します。

疑問符のさまざまな役割

?の意味は位置によって変わります。文字やグループの後では、その文字やグループを省略可能にします。colou?rがその例です。別の量指定子の後では、その量指定子を遅延型にし、可能な限り少なくマッチさせます。<.+?>は最初の>で止まりますが、<.+>は行内の最後の>まで進みます。グループの先頭では特殊構文を導入します。(?:…)はキャプチャせずにグループ化し、(?=…)と(?!…)は先読みを行い、(?<name>…)はグループに名前を付けます。?は、その直前にあるものと一緒に読み取ってください。

短縮文字クラスはASCIIのみ

JavaScriptでは、\dがマッチするのは0~9だけで、\wもアクセントのないラテン文字、数字、アンダースコアだけにマッチします。そのため、\w+でcaféを検索するとcafが見つかり、\bはアクセント付き文字の位置を単語境界として扱います。ほかの言語のテキストには、uフラグとともに[\p{L}\p{N}_]+のようなUnicodeプロパティクラスを使ってください。修正したパターンは、実際のサンプルテキストで正規表現テスターを使って試せます。

パターンと文字列でのエスケープ

14個の文字には特殊な意味があり、文字どおりにマッチさせるにはバックスラッシュが必要です。対象は. * + ? ^ $ { } ( ) | [ ] \と、/…/リテラル内の/です。new RegExpで文字列からパターンを作る場合は、すべてのバックスラッシュを2重にする必要があります。そのため、\d+は"\\d+"になります。リテラルでは機能するのに文字列からは機能しないパターンは、途中でバックスラッシュが失われていることがほとんどです。

使い方

  1. JavaScript正規表現を入力またはペーストします(例: /^[a-z0-9]+$/i)。
  2. Explain Regexをクリックします。
  3. アンカー、文字クラス、グループ、フラグを解説する分解表を確認します。

プライバシーと制限事項

正規表現の解析と解説はすべてお使いのブラウザ内で行われます。

関連ツール

よくある質問

どの正規表現の機能を解説しますか?

アンカー(^, $)、文字クラス(d, w, s, [a-z])、量指定子(*, +, ?, {m,n})、キャプチャグループ、フラグを解説します。

正規表現の構文を検証しますか?

はい、構文エラーを即時に検出して報告します。

無料ツール · ブラウザ内で · アカウント不要