/(?=\d{4}-\d\d-\d\d) # Date format (?=.{8}(?:0[1-9]|[12]\d|3[01])) # Day 01-31 (?=.{5}(?:0[1-9]|1[0-2])) # Month 01-12 (?!.{5}(?:0[2469]|11)-31) # Not 31 days in those months (?!.{5}02-30) # Never 30 days in Feb (?!...[13579]-02-29) # Not a leap year (?!..[13579][048]-02-29) # -"- (?!..[02468][26]-02-29) # -"- (?!.[13579]00-02-29) # -"- (?![13579][048]00-02-29) # -"- (?![02468][26]00-02-29) # -"- /x