正規表現チートシート
正規表現(regex)はテキストに一致させるパターンです — 検索置換、検証、抽出に使われます。以下の構文は JavaScript・Python・PCRE などほとんどの現代エンジンが共有する共通の書式です。トークンを検索してすぐに移動できます。
更新 2026-07-06
文字クラス
| トークン | 一致する対象 | 例 |
|---|---|---|
| . | 改行を除く任意の文字 | a.c → abc, a7c |
| \d | 任意の数字(0–9) | \d\d → 42 |
| \D | 数字以外の任意の文字 | \D → a, % |
| \w | 単語文字(文字、数字、アンダースコア) | \w+ → hello_1 |
| \W | 単語文字以外 | \W → space, ! |
| \s | 空白(スペース、タブ、改行) | a\sb → a b |
| \S | 空白以外 | \S+ → word |
| [abc] | a, b, c のいずれか 1 つ | [aeiou] → a vowel |
| [^abc] | a, b, c を除く任意の文字 | [^0-9] → non-digit |
| [a-z] | 範囲内の任意の文字 | [a-f] → a…f |
アンカー & 境界
| トークン | 一致する対象 | 例 |
|---|---|---|
| ^ | 文字列の先頭(マルチラインモードでは行頭) | ^Hi → line starting Hi |
| $ | 文字列の末尾(または行末) | end$ → line ending end |
| \b | 単語境界 | \bcat\b → the word cat |
| \B | 単語境界でない位置 | \Bcat → scatter |
量指定子
| トークン | 一致する対象 | 例 |
|---|---|---|
| * | 直前の要素が 0 回以上 | a* → '', a, aaa |
| + | 1 回以上 | a+ → a, aaa (not '') |
| ? | 0 回または 1 回(省略可) | colou?r → color, colour |
| {n} | ちょうど n 回 | \d{4} → 2026 |
| {n,} | n 回以上 | \d{2,} → 42, 4200 |
| {n,m} | n 回から m 回の間 | \d{2,4} → 42 to 4200 |
| *? | 最短一致: できるだけ少なく | <.+?> → shortest match |
グループ、選択、先読み後読み
| トークン | 一致する対象 | 例 |
|---|---|---|
| (abc) | キャプチャグループ | (ab)+ → abab |
| (?:abc) | 非キャプチャグループ | (?:ab)+ → group, no capture |
| (?<name>…) | 名前付きキャプチャグループ | (?<year>\d{4}) |
| a|b | 選択 — a または b | cat|dog → cat, dog |
| \1 | グループ 1 への後方参照 | (\w)\1 → ll, oo |
| (?=abc) | 先読み — 後ろに abc が続く | \d(?=px) → 5 in 5px |
| (?!abc) | 否定先読み — 後ろに続かない | \d(?!px) |
| (?<=abc) | 後読み — 前に abc がある | (?<=\$)\d+ → 9 in $9 |
| (?<!abc) | 否定後読み | (?<!\$)\d+ |
フラグ
| トークン | 一致する対象 | 例 |
|---|---|---|
| g | グローバル — 最初だけでなくすべての一致を検索 | /a/g |
| i | 大文字小文字を無視 | /abc/i → ABC |
| m | マルチライン — ^ と $ が改行に一致 | /^x/m |
| s | dotall — . も改行に一致 | /a.b/s |
| u | Unicode モード | /\u{1F600}/u |
エスケープについての注意
特別な意味を持つ文字 — . * + ? ( ) [ ] { } ^ $ | \ など — に一致させるには、前にバックスラッシュを付けます。たとえば \. はリテラルのドットに、\$ はリテラルのドル記号に一致します。パターンが期待どおりに一致しないときは、エスケープしていない特殊文字が原因であることが多いです。
関連ツール