ホームライブラリ正規表現 検証パターン

正規表現 検証パターン

メール・URL・電話番号・パスワード強度から ID・日付形式、テキスト整形用の検索置換まで、実務で繰り返し必要になる正規表現を16個集めました。カードをクリックすると区切り文字やフラグなしのパターン文字列だけがコピーされ、正規表現ツールの Pattern 欄に貼り付ければ実際のテキストですぐに試せます。ほとんどは文字列全体を検証するアンカー(^...$)付きパターンで、タグ除去と空白整理の2項目だけアンカーなしにして長いテキスト内のすべての一致を見つけられるようにしています。

ツールを開く →
メールアドレス
メールアドレス
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
URL(http/https)
URL(http/https)
^https?://[\w.-]+(?::\d+)?(?:/\S*)?$
電話番号(E.164 国際形式)
電話番号(E.164 国際形式)
^\+[1-9]\d{1,14}$
韓国の携帯電話番号
韓国の携帯電話番号
^01[016789]-?\d{3,4}-?\d{4}$
強力なパスワード(8文字以上、英大小文字・数字・記号)
強力なパスワード(8文字以上、英大小文字・数字・記号)
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w\s]).{8,}$
ユーザー名(3〜16文字、英数字とアンダースコア)
ユーザー名(3〜16文字、英数字とアンダースコア)
^[a-zA-Z0-9_]{3,16}$
URL スラッグ(ケバブケース)
URL スラッグ(ケバブケース)
^[a-z0-9]+(?:-[a-z0-9]+)*$
UUID v4
UUID v4
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
16進数カラーコード
16進数カラーコード
^#(?:[0-9a-fA-F]{3}){1,2}$
HTML タグ除去
HTML タグ除去
<[^>]+>
IPv4 アドレス
IPv4 アドレス
^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$
ISO 8601 日付(YYYY-MM-DD)
ISO 8601 日付(YYYY-MM-DD)
^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$
24時間表記の時刻(HH:MM)
24時間表記の時刻(HH:MM)
^([01]\d|2[0-3]):[0-5]\d$
米国郵便番号(ZIP)
米国郵便番号(ZIP)
^\d{5}(?:-\d{4})?$
クレジットカード番号(形式チェックのみ、16桁4桁区切り)
クレジットカード番号(形式チェックのみ、16桁4桁区切り)
^\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{1,4}$
連続する空白をまとめる
連続する空白をまとめる
\s{2,}

よくある質問

これらのパターンはどう使いますか?
カードをクリックすると、区切り文字(/)やフラグなしの純粋なパターン文字列がコピーされます。正規表現ツールの Pattern 欄に貼り付け、テストエリアにテキストを入力すると一致箇所がその場でハイライトされます。フラグはツール側で別途設定します(既定値の g は最初の一致で止まらずすべての一致を探します)。
メールパターンはすべての有効なアドレスを拾えますか?
いいえ。RFC 5322 の完全な文法は、正しく実装すると数十行に及ぶほど複雑です。実務ではこうした実用的なパターンで明らかな誤入力や空入力を弾き、実在するアドレスかどうかは確認メールの送信で確かめます。
クレジットカードパターンはカード番号の有効性を確認しますか?
いいえ。このパターンは16桁の数字が4桁ずつ(スペースやハイフン区切りを許容)まとまっているか、形式だけを確認します。チェックサム(Luhn アルゴリズム)の検証はせず、Amex のような15桁のカードにも対応していません。実際の有効性チェックは決済ゲートウェイに任せてください。
パスワードパターンの (?=...) は何をしていますか?
先読み(lookahead)です。文字を消費せず条件だけを確認するため、小文字・大文字・数字・記号が文字列のどこにあっても、順序に関係なくすべて存在するかを確認できます。順序を強制する1本の長いパターンより、はるかに読みやすくなります。
Family Site