Datums-Regex – JJJJ-MM-TT mit Gruppen abgleichen
Debuggen Sie reguläre JavaScript-Ausdrücke live: hervorgehobene Übereinstimmungen, Erfassungsgruppen, Flags und Ersetzungsvorschau.
Ergebnis
Auf dieser Seite wird ein Muster für ISO 8601-Daten vorab geladen: (?<Jahr>\d{4})-(?<Monat>0[1-9]|1[0-2])-(?<Tag>0[1-9]|[12]\d|3[01]). Anstatt irgendwelche Ziffern zu akzeptieren, erlaubt die Monatsgruppe nur 01–12 und die Tagesgruppe 01–31 – der Beispieltext zeigt dies anhand von 2026-13-01 und 2026-00-10, die nicht übereinstimmen.
Den praktischen Sinn ergeben die drei genannten Gruppen: In der Trefferliste unterhalb des Textes sehen Sie Jahr, Monat und Tag getrennt für jedes gefundene Datum. Im Code können Sie mit denselben Gruppen result.groups.year schreiben, anstatt Klammern zu zählen – und im Ersetzungsfeld hier können Sie ein Datum als $<day>.$<month>.$<year> neu anordnen, um ISO-Daten in einem Durchgang in die europäische Notation zu konvertieren.
Ein regulärer Ausdruck kann nicht wissen, dass der Februar 28 Tage hat – der 31.02.2026 stimmt immer noch überein. Das ist normal: Die Aufgabe des Musters besteht darin, datumsförmige Zeichenfolgen zu finden und sie in Teile aufzuteilen. Die endgültige Kalendervalidierung gehört zu Ihrem Code. Fügen Sie Ihre eigenen Protokolle oder CSV-Exporte ein und sehen Sie, wie sich das Muster auf echte Daten verhält.