よく使う正規表現パターン

メール構文、URL、IPv4、UUID、日付、数値に関する実用的な正規表現の例を、各パターンが実際に何をチェックするかの注記付きで閲覧できます。

ブラウザ内でローカルに実行
ユースケース正規表現注記
メールアドレス ^[^\s@]+@[^\s@]+\.[^\s@]+$ 実用的な構文チェック。配信には検証が必要です。
HTTP または HTTPS URL ^https?:\/\/[^\s]+$ スキームをチェックし、空白を拒否します。完全な検証には URL パーサーを使用してください。
IPv4 アドレス ^(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|1?\d?\d)$ 0 から 255 までのオクテットを受け付けます。
UUID バージョン 1–5 ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$ 標準のハイフン形式と RFC バリアントビットをチェックします。
ISO 形式の日付 ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ YYYY-MM-DD の形をチェックしますが、月ごとの日数制限はチェックしません。
24時間形式 ^(?:[01]\d|2[0-3]):[0-5]\d$ 00:00 から 23:59 までの値を受け付けます。
16進数カラー ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$ RGB、RRGGBB、RRGGBBAA 表記に対応しています。
セマンティック バージョン ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ コア バージョンに加えて、任意のプレリリースとビルド メタデータに一致します。
符号付き整数 ^-?\d+$ オプションのマイナス記号を許可
小数 ^-?(?:\d+|\d*\.\d+)$ 整数と小数に対応し、.5 のような値も含みます。
URL スラッグ ^[a-z0-9]+(?:-[a-z0-9]+)*$ 小文字の ASCII 単語を単一のハイフンで区切ったもの。
HTML のようなタグ <\/?[A-Za-z][^>]*> 単純な抽出のみに便利です。HTML の解析には HTML パーサーを使用してください。
先頭または末尾の空白 ^\s+|\s+$ 両端の空白を除去する場合はグローバルフラグを使用してください。
空行 ^\s*$ 各行を個別に評価するにはマルチラインモードを使用してください。
隣接する重複単語 \b([A-Za-z]+)\s+\1\b 大文字小文字を無視する場合は大文字小文字を区別しないモードを使用してください。

移植性に関する注意

JavaScript、PCRE、Python、Java、.NET、Go、Ruby は正規表現の機能を完全には同じようには実装していません。後読み、名前付きグループ、Unicode プロパティ、所有量指定子、インラインモディファイアに依存する前に、対象エンジンを確認してください。

セキュリティ上重要な検証では、最初に入力を正規化し、明示的な長さ制限を適用し、データ形式に専用のパーサーがある場合はそれを使用してください。

最近使ったツール: