^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$
仅供参考

解决方案 »

  1.   

    (?<Time>^(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d(?:[ap]m)?)
      

  2.   

    ^((([0-9]|([0-1][0-9])|(2[0-3])):([0-9]|([0-5][0-9])):([0-9]|([0-5][0-9])))|((([0-1][0-2])|[0-9]):([0-9]|([0-5][0-9])):([0-9]|([0-5][0-9]))\s[ap]m))$
      

  3.   

    专门的正则表达式网站:
    http://www.regexlib.com/DisplayPatterns.aspx?cattabindex=1&categoryId=2
      

  4.   

    (?n:^(?=\d)((?<month>(0?[13578])|1[02]|(0?[469]|11)(?!.31)|0
    ?2(?(.29)(?=.29.((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][
    26])|(16|[2468][048]|[3579][26])00))|(?!.3[01])))(?<sep>[-./
    ])(?<day>0?[1-9]|[12]\d|3[01])\k<sep>(?<year>(1[6-9]|[2-9]\d
    )\d{2})(?(?=\x20\d)\x20|$))?(?<time>((0?[1-9]|1[012])(:[0-5]
    \d){0,2}(?i:\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$)