Datumregex: match JJJJ-MM-DD met groepen
Debug reguliere JavaScript-expressies live: gemarkeerde overeenkomsten, vastgelegde groepen, vlaggen en vervangingsvoorbeeld.
Resultaat
Deze pagina laadt vooraf een patroon voor ISO 8601-datums: (?<jaar>\d{4})-(?<maand>0[1-9]|1[0-2])-(?<dag>0[1-9]|[12]\d|3[01]). In plaats van cijfers te accepteren, staat de maandgroep alleen 01–12 toe en de daggroep 01–31 – de voorbeeldtekst laat dit zien met 2026-13-01 en 2026-00-10, die ongeëvenaard blijven.
De drie genoemde groepen vormen de praktische uitbetaling: in de matchlijst onder de tekst zie je jaar, maand en dag afzonderlijk geëxtraheerd voor elke gevonden datum. In code kun je met dezelfde groepen result.groups.year schrijven in plaats van haakjes te tellen - en in het vervangingsveld hier kun je een datum opnieuw rangschikken als $<dag>.$<maand>.$<jaar> om ISO-datums in één keer naar de Europese notatie te converteren.
Een regex kan niet weten dat februari 28 dagen heeft; 31-02-2026 komt nog steeds overeen. Dat is normaal: de taak van het patroon is om datumvormige tekenreeksen te vinden en deze in delen te splitsen; de definitieve kalendervalidatie hoort bij uw code. Plak uw eigen logboeken of CSV-exports en kijk hoe het patroon zich gedraagt op echte gegevens.