正規表現 チートシート
最終更新
文字クラス
集合から 1 文字に一致させます。
| トークン | 一致するもの |
|---|---|
. | 改行以外の任意の文字 |
\d | 任意の数字 (0-9) |
\D | 数字以外 |
\w | 単語構成文字 (英字・数字・アンダースコア) |
\W | 単語構成文字以外 |
\s | 任意の空白 (スペース・タブ・改行) |
[abc] | a、b、c のいずれか 1 文字 |
[a-z] | 範囲内の任意の小文字 |
[^abc] | a、b、c 以外の任意の文字 |
量指定子
直前のトークンが何回繰り返されるかを指定します。
| トークン | 一致するもの |
|---|---|
* | 0 回以上 |
+ | 1 回以上 |
? | 0 回または 1 回 (省略可) |
{3} | ちょうど 3 回 |
{2,4} | 2 回から 4 回 |
{2,} | 2 回以上 |
*? | 最小一致: できるだけ少なく |
+? | 最小一致: 1 回以上で最小限 |
アンカーと境界
文字ではなく位置に一致させます。
| トークン | 一致するもの |
|---|---|
^ | 文字列 (または行) の先頭 |
$ | 文字列 (または行) の末尾 |
\b | 単語境界 |
\B | 単語境界以外 |
^abc$ | ちょうど abc である文字列 |
\bword\b | 単語全体としての word |
グループとキャプチャ
トークンをまとめ、一致した内容をキャプチャします。
| トークン | 一致するもの |
|---|---|
(abc) | キャプチャグループ、グループ 1 として保存 |
(?:abc) | 非キャプチャグループ |
(?<year>\d{4}) | 名前付きキャプチャグループ year |
(ab)+ | グループ全体を繰り返す |
\1 | グループ 1 への後方参照 |
\k<year> | 名前付きグループへの後方参照 |
選択 (alternation)
いずれかのパターンに一致させます。
| トークン | 一致するもの |
|---|---|
a|b | a または b |
cat|dog | 単語 cat または dog |
(jpg|png|gif) | いずれかの候補をキャプチャ |
gr(a|e)y | gray または grey |
^(yes|no)$ | ちょうど yes または ちょうど no |
先読み・後読み
前後の内容を消費せずに表明します。
| トークン | 一致するもの |
|---|---|
(?=abc) | 先読み: 後ろに abc が続く |
(?!abc) | 否定の先読み: 後ろに abc が続かない |
(?<=abc) | 後読み: 前に abc がある |
(?<!abc) | 否定の後読み: 前に abc がない |
\d+(?= dollars) | 後ろに dollars が続くときだけの数字 |
(?<=\$)\d+ | 前に $ があるときだけの数字 |
フラグ
パターン全体の適用のしかたを変えます。
| フラグ | 機能 |
|---|---|
g | グローバル: 最初だけでなくすべての一致を探す |
i | 大文字小文字を区別しない一致 |
m | 複数行: ^ と $ が行末にも一致 |
s | dotall: . が改行にも一致 |
u | Unicode モード |
x | 拡張: パターン内の空白を無視 |
よく使うパターン
日々の検証にそのまま使えるパターン。
| パターン | 一致するもの |
|---|---|
^\d+$ | 整数 (数字のみ) |
^[\w.+-]+@[\w-]+\.[\w.-]+$ | 基本的なメールアドレス |
https?:\/\/[^\s]+ | http または https の URL |
^\d{4}-\d{2}-\d{2}$ | 2026-05-27 のような日付 |
^\d{3}-\d{3}-\d{4}$ | 米国式の電話番号 |
^#?[0-9a-fA-F]{6}$ | 6 桁の 16 進カラーコード |
\s+ | 1 つ以上の空白文字 |
よく使う正規表現のトークンを 1 ページにまとめました。この正規表現チートシートは、正規表現を組み立てるためのクイックリファレンスです。文字クラス、量指定子、アンカー、グループ、選択、先読み・後読み、フラグを収録しています。
ここで紹介する構文は、ほとんどの言語で使われる一般的な PCRE / JavaScript 系のものです。パターンをコピーするか、正規表現テスターツールでその場で試して、何に一致するかを正確に確認してください。JS プレイグラウンドもワンクリックで開けます。
正規表現 チートシート よくある質問
この正規表現チートシートは無料ですか?
はい。この正規表現チートシートは完全に無料で、登録も不要です。ブックマークしておけば、トークンや量指定子、フラグを調べたいときにいつでも戻ってこられます。
貪欲な量指定子と最小一致の量指定子の違いは何ですか?
* や + のような貪欲な量指定子は可能な限り多く一致し、残りのパターンが必要とすれば文字を返します。? を付けて書く最小一致の量指定子 (*? や +? など) は可能な限り少なく一致し、強制されたときだけ広がります。たとえば <a><b> に対して、<.+> は貪欲に文字列全体に一致しますが、<.+?> は <a> だけに一致します。正規表現のキャプチャグループとは何ですか?
キャプチャグループは
(\d{4}) のようにかっこで囲んだパターンの一部で、一致したテキストが保存され番号が振られるので、再利用したり取り出したりできます。後で \1 のような後方参照で参照したり、分かりやすくするために (?<year>\d{4}) と名前を付けたりします。キャプチャせずにトークンをまとめたい場合は、非キャプチャグループ (?:...) を使います。正規表現をオンラインで練習できますか?
はい。正規表現テスターツールを開けば、パターンを入力して、自分のテキストに対して何に一致するかをブラウザ上でその場で確認できます。どんなパターンも JS プレイグラウンドに入れてコード内で使うこともできます。体系的に学びたいときは、Coddy の無料インタラクティブコースが基本要素を段階的に解説します。
このチートシートは初心者に向いていますか?
はい。文字クラスと量指定子 (基礎) から先読み・後読みやすぐ使えるパターンへと並べてあるので、すぐに単純なテキストの一致を始められ、応用的な式には慣れながら進めます。