正規表現チートシート&ビジュアライザー
正規表現の記号をすばやく覚え、パターンを日本語の説明に分解し、自分のテキストで試せます。すべてブラウザー内で動作します。
チートシート
. 改行以外の任意の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)\1a|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ツールは古く小さな構文を使います。テスターはパターンを別スレッドで実行し、数秒で打ち切るので、無限にバックトラックするパターンでもページが固まることはありません。
チートシートの使い方
記号を検索するか、パターンを貼り付けて一部分ずつ読み進めます。
- 記号の一覧を眺めるか検索します。
- パターンを貼り付けて、構成要素に分かれた形を見ます。
- サンプルのテキストを入力して実際に何が一致するか確かめ、パターンを直します。
よくある質問
このツールはパターンをどこかに送信しますか?
いいえ。分解も一致の検索もブラウザー内で行われ、パターンもテキストもどこにも送信されません。
どの方言の正規表現に従っていますか?
処理を行うエンジンがJavaScriptなので、JavaScriptの方言です。ここにあるもののほとんど — 文字クラス、グループ、量指定子、アンカー — はどの方言でも同じです。
ここでパターンを試せますか?
はい。テスト欄にテキストを入力すると一致が強調表示され、一致ごとにキャプチャされたグループも並びます。
なぜパターンが中止されたのですか?
ほぼ一致するテキストに対して指数時間がかかるパターンがあります。原因はたいてい (a+)+b のような量指定子の入れ子です。テスターはページを固めるかわりに数秒であきらめますが、その中断自体が有用な警告です。同じパターンはサーバーも止めてしまいます。
Wikipedia — Regular expression
Wikipedia — PCRE
Wikipedia — Finite-state machine
Wikipedia — ReDoS
Wikipedia — Backtracking