Regular Expressions 101

Community Patterns

Match a full date m/d/yyyy

0

Regular Expression
PCRE (PHP <7.3)

/
^ # Validate the basic structure (?=\d{1,4}\/\d{1,4}\/\d{1,4}$) # The below subexpression matches a leap year # This will be useful later when checking Feb 29th (?<leap>0*$|\d*(?:[13579][26]|(?:\b|[02468])[048])(?:00|(?<!00))$){0} # Match and capture a month, saving a 30-day month or Feb for later reference 0*(?<month>(?<thirty>9|4|6|11)|(?<feb>2)|1[02]|[13578])\/ # If Feb was matched and 29 appears, check for a leap year 0*(?<day>[1-9]|1\d|2[0-8]|(?(feb)29(?=\/(?&leap))|(?:29|(?(thirty)30|3[01]))))\/ # Match and capture a year (?:0\B)*(?<year>\d+) $
/
gxm

Description

no description available

Submitted by anonymous - 5 years ago