~/devtools / regex / date
tool::regex-guide

regex date

/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/

ISO日付形式検証 (YYYY-MM-DD)

ad · 728×90
正規表現パターン
/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/
フラグ:なし
パターン解析
^\d{4}4-digit year (e.g. 2024)
-Literal hyphen separator
(0[1-9]|1[0-2])Month 01–12
-Literal hyphen separator
(0[1-9]|[12]\d|3[01])Day 01–31
$End of string
マッチ例
✓2024-01-15
✓2000-12-31
✓1999-06-01
非マッチ例
✗2024-13-01
✗2024-00-15
✗24-01-15
✗2024/01/15

ISO 8601標準のYYYY-MM-DD日付形式を検証するパターンです。月は01〜12、日は01〜31の範囲のみ許可します。ただし、2月30日のような論理的に存在しない日付は別途のロジックで処理する必要があります。

言語別の使用方法

JavaScript— RegExpオブジェクトまたはリテラル構文を使用
const pattern = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;

// Test a string
console.log(pattern.test("2024-01-15")); // true
console.log(pattern.test("2024-13-01")); // false

// Match and extract
const result = "2024-01-15".match(pattern);
Python— reモジュールを使用
import re

pattern = r"^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$"

# Test a string
if re.fullmatch(pattern, "2024-01-15"):
    print("Valid")

# Find all matches in text
matches = re.findall(pattern, text)
Java— java.util.regexパッケージを使用
import java.util.regex.*;

String pattern = "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$";
Pattern p = Pattern.compile(pattern);

Matcher m = p.matcher("2024-01-15");
boolean isValid = m.matches(); // true

// Find occurrences
Matcher finder = p.matcher(inputText);
while (finder.find()) {
    System.out.println(finder.group());
}

主なユースケース

  • ▸日付入力フィールドの形式検証
  • ▸APIパラメータの日付形式確認
  • ▸データベース挿入前の日付前処理
  • ▸CSVファイルの日付列クリーニング
  • ▸ログファイルの日付パース

関連パターン

email/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-…/i→phone/^\+?[\d\s\-\(\)]{7,15}$/→url/^https?:\/\/[^\s\/$.?#].[^\s]*$/i→ip-address/^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.…/→
ad · 300×250
← Regexテスターに戻る
// related tools
⏱
Cron Expression Generator
ビジュアルエディタでcron式を作成・解析。次回5回の実行時刻をプレビューし、よく使うプリセットから始められます。
jwt
JWT Decoder
JWTトークンをデコードして内容を確認。ヘッダー・ペイロード・署名の詳細を表示します。
◑
Color Converter
HEX・RGB・HSL形式でカラーコードを変換。カラーピッカーで視覚的に選択できます。
ts
Timestamp Converter
Unixタイムスタンプを人間が読める日付に変換。ms/s・UTC/ローカル・相対時刻に対応。