4.7 Datums- und Uhrzeitwerte im Format ISO 8601 validieren

Problem

Sie wollen Datums- und/oder Uhrzeitwerte im offiziellen Format ISO 8601 finden. Dieses Format ist die Grundlage vieler standardisierter Datums- und Zeitformate. So basieren zum Beispiel in XML Schema die eingebauten Typen date, time und dateTime auf ISO 8601.

Lösung

Die folgende Regex findet einen Kalendermonat, zum Beispiel 2008-08. Der Bindestrich ist dabei verpflichtend:

^([0-9]{4})-(1[0-2]|0[1-9])$
  • Regex-Optionen: Keine

  • Regex-Varianten: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby

^(?<year>[0-9]{4})-(?<month>1[0-2]|0[1-9])$
  • Regex-Optionen: Keine

  • Regex-Varianten: .NET, PCRE 7, Perl 5.10, Ruby 1.9

^(?P<year>[0-9]{4})-(?P<month>1[0-2]|0[1-9])$
  • Regex-Optionen: Keine

  • Regex-Varianten: PCRE, ...

Get Reguläre Ausdrücke Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.