Please enable JavaScript to use regex101
/
^
r
e
g
e
x
[
\
-
_
]
?
1
0
1
$
/
i
Reg
ular
Ex
pressions
101
Upgrade to Pro
Enterprise
Regular Expression
/
(?<=\D|^)(?<year>\d{4})(?<sep>[^\w\s])(?<month>1[0-2]|0[1-9])\k<sep>(?<day>0[1-9]|[12][0-9]|(?<=11\k<sep>|[^1][4-9]\k<sep>)30|(?<=1[02]\k<sep>|[^1][13578]\k<sep>)3[01])(?=\D|$)
/
gm
Unit Tests
january
january (fail => 32 days)
february
february (fail => 30 days)
march
march (fail => 32 days)
april
april (fail => 31 days)
may
may (fail => 32 days)
june
june (fail => 31 days)
july
july (fail => 32 days)
august
august (fail => 32 days)
september
september (fail => 31 days)
october
october (fail => 32 days)
november
november (fail => 31 days)
december
december (fail => 32 days)
month != 0
day != 0
Group 1 == Year
Group 2 == Month
Group 3 == Day of month
Extract date from datetime
Invalid year #1
Invalid year #2
Invalid year #3
Invalid month #1
Invalid month #2
Invalid day #1
Invalid day #2