正規表現チートシート
7カテゴリ42パターンの包括的な正規表現クイックリファレンス。検索してクリックでコピー。
文字クラス
パターン
説明
例
.
改行以外の任意の文字
a.c は "abc"、"a1c" にマッチ
\d
数字 (0-9)
\d{3} は "123" にマッチ
\D
数字以外
\D+ は "abc" にマッチ
\w
単語文字 (a-z, A-Z, 0-9, _)
\w+ は "hello_123" にマッチ
\W
単語文字以外
\W は "@"、" " にマッチ
\s
空白文字(スペース、タブ、改行)
a\sb は "a b" にマッチ
\S
空白文字以外
\S+ は "hello" にマッチ
[abc]
a、b、cのいずれか
[aeiou] は母音にマッチ
[^abc]
a、b、c以外
[^0-9] は数字以外にマッチ
[a-z]
範囲:aからz
[a-zA-Z] は任意の文字にマッチ
アンカー
パターン
説明
例
^
文字列/行の先頭
^Hello は "Hello world" にマッチ
$
文字列/行の末尾
world$ は "Hello world" にマッチ
\b
単語境界
\bcat\b は "cat" にマッチ、"catch" にはマッチしない
\B
非単語境界
\Bcat\B は "concatenate" にマッチ
量指定子
パターン
説明
例
*
0回以上
ab*c は "ac"、"abc"、"abbc" にマッチ
+
1回以上
ab+c は "abc"、"abbc" にマッチ、"ac" にはマッチしない
?
0回または1回(オプション)
colou?r は "color"、"colour" にマッチ
{n}
正確にn回
\d{4} は "2024" にマッチ
{n,}
n回以上
\d{2,} は "12"、"123" にマッチ
{n,m}
n回以上m回以下
\d{2,4} は "12"、"1234" にマッチ
*?
0回以上(最短マッチ)
<.*?> は最初のタグのみにマッチ
+?
1回以上(最短マッチ)
.+? はできるだけ少なくマッチ
グループと参照
パターン
説明
例
(abc)
キャプチャグループ
(\d+)-(\d+) は両方の部分をキャプチャ
(?:abc)
非キャプチャグループ
(?:ab)+ は "abab" にマッチ
(?<name>abc)
名前付きキャプチャグループ
(?<year>\d{4}) は "year" としてキャプチャ
\1
グループ1への後方参照
(\w+)\s\1 は "the the" にマッチ
(a|b)
選択(aまたはb)
(cat|dog) はどちらかにマッチ
先読み・後読み
パターン
説明
例
(?=abc)
肯定先読み
\d(?=px) は "5px" の "5" にマッチ
(?!abc)
否定先読み
\d(?!px) は "5em" の "5" にマッチ
(?<=abc)
肯定後読み
(?<=\$)\d+ は "$100" の "100" にマッチ
(?<!abc)
否定後読み
(?<!\$)\d+ は "100" の "100" にマッチ
フラグ
パターン
説明
例
g
グローバル - すべてのマッチを検出
/cat/g はすべての "cat" にマッチ
i
大文字小文字を区別しない
/hello/i は "Hello"、"HELLO" にマッチ
m
複数行 - ^と$が行の先頭/末尾にマッチ
/^line/m は各行の先頭にマッチ
s
ドットが改行にもマッチ
/a.b/s は "a\nb" にマッチ
u
Unicodeサポート
/\p{L}/u はUnicode文字にマッチ
よく使うパターン
パターン
説明
例
^[\w.-]+@[\w.-]+\.\w{2,}$
メールアドレス(基本)
user@example.com
^https?://[\w.-]+(?:/[\w.-]*)*$
URL(基本)
https://example.com/path
^\d{1,3}(\.\d{1,3}){3}$
IPv4アドレス
192.168.1.1
^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
16進カラーコード
#ff6600 または #f60
^\d{4}-\d{2}-\d{2}$
日付 (YYYY-MM-DD)
2024-01-15
^\+?\d{1,3}[-.\s]?\d{4,14}$
電話番号(基本)
+1-555-1234567
正規表現チートシートの使い方
- 1.カテゴリを閲覧するか、検索バーで特定のパターン、説明、または例を検索します。
- 2.カテゴリボタンをクリックしてトピック別にフィルター(文字クラス、量指定子、先読み・後読みなど)。
- 3.任意の行をクリックしてパターンをコピーします。
- 4.よく使うパターンセクションでメール、URL、日付などのすぐに使える正規表現を利用します。
よくある質問
正規表現(regex)とは?
正規表現は検索パターンを定義する文字列です。文字列のパターンマッチング(テキストの検索、置換、検証)に使用されます。ほぼすべてのプログラミング言語とテキストエディタで正規表現がサポートされています。
貪欲量指定子と最短量指定子の違いは?
貪欲量指定子(*、+、{n,m})はできるだけ多くのテキストにマッチします。最短量指定子(*?、+?、{n,m}?)はできるだけ少なくマッチします。例えば "<b>bold</b>" に対して、<.*>(貪欲)は文字列全体に、<.*?>(最短)は "<b>" のみにマッチします。
先読みと後読みとは?
先読み(?=...)と後読み(?<=...)はゼロ幅アサーションです。パターンの存在をチェックしますがマッチには含めません。肯定バリアントはパターンの存在を主張し、否定バリアント(?!...)と(?<!...)はパターンが存在しないことを主張します。
正規表現パターンをテストするには?
Regexテスターツール(/regex-tester)でリアルタイムマッチングとハイライト付きでパターンをテストできます。regex101.comなどのオンラインツールも各パターンの詳細な説明を提供しています。