正規表現チートシート&ビジュアライザー

正規表現の記号をすばやく覚え、パターンを日本語の説明に分解し、自分のテキストで試せます。すべてブラウザー内で動作します。

/
/
正規表現を貼り付けると、部分ごとの説明が表示されます。
フラグ
構成要素
上にパターンを入力すると、その構成要素が表示されます。

任意です。テキストを入力または貼り付けると、入力に合わせて一致が表示されます。

チートシート


. 改行以外の任意の1文字 例: a.c
\d 数字 (0-9) 例: \d+
\D 数字以外の任意の1文字 例: \D+
\w 単語構成文字 (a-z, A-Z, 0-9, _) 例: \w+
\W 単語構成文字以外の任意の1文字 例: \W+
\s 空白文字 例: \s+
\S 空白以外の任意の1文字 例: \S+
^ テキストの先頭 例: ^hello
$ テキストの末尾 例: world$
\b 単語の境界 例: \bword\b
\B 単語の境界ではない位置 例: \Bword\B
[abc] 文字集合 例: [abc]+
[^abc] 否定の文字集合 例: [^abc]+
[a-z] 文字集合 例: [a-z0-9]+
(abc) キャプチャグループ 例: (abc)
(?:abc) キャプチャしないグループ 例: (?:abc)+
(?<n>) 名前付きグループ 例: (?<year>\d{4})
\1 後方参照 例: (\w)\1
a|b 選択(または) 例: cat|dog
? 省略可能(0か1) 例: colou?r
* 0回以上繰り返す 例: a*
+ 1回以上繰り返す 例: a+
{m,n} 指定した回数だけ繰り返す 例: a{2,4}
+? 同じだが、できるだけ短く 例: <.+?>
(?=) 直後に次が続く場合のみ 例: foo(?=bar)
(?!) 直後に次が続かない場合のみ 例: foo(?!bar)
(?<=) 直前に次がある場合のみ 例: (?<=\$)\d+
(?<!) 直前に次がない場合のみ 例: (?<!\$)\d+
\. 次の文字を文字どおりに扱う 例: 3\.14
\n 改行 例: line\n
\t タブ 例: \tindented

よく使う検証パターン


用途パターン説明一致する例
メールアドレス^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$一般的なメールアドレスの形を検証します。user@example.com
電話番号(米国)^\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$ハイフン・空白・括弧の有無にかかわらず10桁の番号に一致します。123-456-7890
郵便番号(米国)^\d{5}(-\d{4})?$5桁および9桁の郵便番号に一致します。90210-1234
日付 (YYYY-MM-DD)^\d{4}-\d{2}-\d{2}$単純な数字だけの日付形式に一致します。2026-09-16
IPアドレス (IPv4)^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$IPv4アドレスの形に一致します。各部分が0〜255かどうかまでは確認しません。192.168.1.1

これらのパターンが確かめるのは値の形であって、実在するかどうかではありません。メールのパターンに完全に一致しても届かないアドレスはあります。入力ミスを早く見つけるために使い、唯一の検証にはしないでください。

このツールでできること


正規表現の記号のコンパクトな一覧、パターンをふつうの文章に置き換える分解、そして自分のテキストで何に一致するかを見せるテスターです。

使いどころ


パターンを書いているとき、他人のパターンを読むとき、同僚に正規表現の基本を教えるときに使えます。パターンを少しずつ声に出して読むことが、理解の近道になります。

制限


分解はブラウザーが実行するJavaScriptの正規表現に従います。方言によって違いがあり、PCRE・Python・Java・.NET はそれぞれ独自の構文を加え、grep や sed などのPOSIXツールは古く小さな構文を使います。テスターはパターンを別スレッドで実行し、数秒で打ち切るので、無限にバックトラックするパターンでもページが固まることはありません。

チートシートの使い方


記号を検索するか、パターンを貼り付けて一部分ずつ読み進めます。

  1. 記号の一覧を眺めるか検索します。
  2. パターンを貼り付けて、構成要素に分かれた形を見ます。
  3. サンプルのテキストを入力して実際に何が一致するか確かめ、パターンを直します。

よくある質問


このツールはパターンをどこかに送信しますか?
いいえ。分解も一致の検索もブラウザー内で行われ、パターンもテキストもどこにも送信されません。

どの方言の正規表現に従っていますか?
処理を行うエンジンがJavaScriptなので、JavaScriptの方言です。ここにあるもののほとんど — 文字クラス、グループ、量指定子、アンカー — はどの方言でも同じです。

ここでパターンを試せますか?
はい。テスト欄にテキストを入力すると一致が強調表示され、一致ごとにキャプチャされたグループも並びます。

なぜパターンが中止されたのですか?
ほぼ一致するテキストに対して指数時間がかかるパターンがあります。原因はたいてい (a+)+b のような量指定子の入れ子です。テスターはページを固めるかわりに数秒であきらめますが、その中断自体が有用な警告です。同じパターンはサーバーも止めてしまいます。

Wikipedia — Regular expression
Wikipedia — PCRE
Wikipedia — Finite-state machine
Wikipedia — ReDoS
Wikipedia — Backtracking