alltools.one
Development
2026-02-19
10 min
alltools.one Team
regexregular-expressionsdevelopmentpatternsvalidation

正規表現チートシート:すべての開発者に必要なパターン

正規表現はパターンを学ぶまでは魔法のように感じますが、一度覚えれば、テキスト検索、バリデーション、データ抽出、文字列操作に欠かせないツールになります。

パターンを取得して、Regex Tester に貼り付けて実験し、ニーズに合わせて調整してください。

基本的な正規表現構文

文字クラス

パターンマッチ対象
.改行以外の任意の文字a.c は "abc"、"a1c" にマッチ
\d任意の数字 (0-9)\d{3} は "123" にマッチ
\w単語文字(文字、数字、アンダースコア)\w+ は "hello_1" にマッチ
\s空白文字\s+ はスペースにマッチ
[abc]a、b、c のいずれか[aeiou] は母音にマッチ
[^abc]a、b、c 以外の任意の文字[^0-9] は数字以外にマッチ
[a-z]範囲内の任意の文字[A-Za-z] は英字にマッチ

量指定子

パターン意味
*0回以上
+1回以上
?0回または1回
{n}ちょうどn回
{n,m}n回からm回

アンカーとグループ

パターン意味
^文字列の先頭
$文字列の末尾
\b単語境界
(abc)キャプチャグループ
(?:abc)非キャプチャグループ
a|b選択(or)
(?=abc)肯定先読み

実用的なパターン

メールアドレスの検証

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

URL マッチング

https?:\/\/[\w.-]+(?:\.[a-zA-Z]{2,})(?:\/[\w./?%&=-]*)?

パスワード強度

8文字以上、大文字1つ、小文字1つ、数字1つ、特殊文字1つを含む:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$

強力なパスワードの生成には、Password Generator をご利用ください。

16進カラーコード

^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$

カラーフォーマットの変換には Color Converter をご利用ください。

UUID の検証

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

有効な UUID の生成には UUID Generator をご利用ください。

正規表現のパフォーマンスのヒント

  1. 具体的に指定する[a-zA-Z]. より高速
  2. 壊滅的なバックトラッキングを避ける(a+)+ のようなネストされた量指定子は指数関数的な時間がかかる
  3. 値が不要な場合は非キャプチャグループを使用する
  4. パターンにアンカーを付ける^pattern$ はアンカーなしの検索より高速
  5. エッジケースでテストする — デプロイ前に Regex Tester を使用

よくある質問

*+ の違いは?

* は0回以上の出現にマッチし、+ は少なくとも1回必要です。したがって ab*c は "ac" にマッチしますが、ab+c はマッチしません。

正規表現を大文字小文字を区別しないようにするには?

i フラグを使用します:JavaScript では /pattern/i、Python では re.IGNORECASE です。

関連リソース

Published on 2026-02-19
Regex Cheat Sheet: Patterns Every Developer Needs | alltools.one