Trying to remake the date regex with http://html5pattern.com/Dates
(?: 19 | 20) [0-9] {2} - (? :( ?: 0 [1-9] | 1 [0-2]) - (?: 0 [1-9] | 1 [0 -9] | 2 [0-9]) | (? :( 02 ?! 02) (?: 0 [1-9] | 1 [0-2]) - (?: 30)) | (? :(? : 0 [13578] | 1 [02]) - 31))
under the format 01/31/2017
(?:(?:(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31)).(?:0[1-9]|1[0-2])).(?:19|20)[0-9]{2} 30 and 31 days it does not accept, how to fix?