# Regex bei Datum



## durstig (5. Juli 2008)

Hallo zusammen.

Ich habe ein Format: YYYY.MM.DD 00:00:00.0 welches ich mit Regex überprüfen will.
Dazu benutze ich folgenden regex: (19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01]). Kann mir jemand sagen wie ich diesen auf mein gewünschtes Format erweitern kann?


----------



## Andreas Gaisbauer (17. Juli 2008)

Hallo,

sollte matchen:

(19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01]) ([0-1][0-9]|2[0-3])[0-5][0-9]){2}\.[0-9]


```
(19|20)          -> 19 oder 20
[0-9]{2}         -> 2 mal etwas zwischen 0 bis 9
[- /.]           -> entweder ein -, / oder .
(0[1-9]|         -> 0 gefolgt von irgendetwas zwischen 1 und 9 
1[012])          -> oder 1 gefolgt von 0, 1 oder 2
[- /.]           -> entweder ein -, / oder .
(0[1-9]|         -> 0 gefolgt von irgendwas zwischen 1 und 9
[12][0-9]|       -> oder 1 bzw 2 gefolgt von irgendwas zwischen 0 und 9 
3[01])           -> oder 3 gefolgt von 0 oder 1
                 -> freizeichen
([0-1][0-9]|     -> 0 bzw 1 gefolgt von irgendwas zwischen 0 und 9
2[0-3])          -> oder 2 gefolgt von 0, 1, 2 oder 3
(:[0-5][0-9]){2} -> 2 Doppelpunkt gefolgt von irgendwas zwischen 0 und 5, gefolgt von irgendwas zwischen 0 und 9 - das Ganze 2 mal
\.               -> Punkt
[0-9]            -> irgendwas zwischen 0 und 9
```

bye


----------

