形式如2004-2-8和2004-2-26和2004-12-8,就是要求当月和日小于10时用整数表示,不加前面的0,只用1-9的数字表示???????\,??????????

解决方案 »

  1.   

    C#String MDYToDMY(String input)    {      return Regex.Replace(input,          "\\b(?<month>\\d{1,2})/(?<day>\\d{1,2})/(?<year>\\d{2,4})\\b",         "${day}-${month}-${year}");   }
      

  2.   

    ^(?:(?:(?:(?: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]))$
      

  3.   

    ^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(
    ?'month'0?[1-9]|1[012])\2(?'day'((?<!(\2((0?[2469])|11)\2))3
    1)|(?<!\2(0?2)\2)(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468]
    [048]|[13579][26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|
    ((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?<time>((
    0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:
    [0-5]\d){1,2}))?)$
      

  4.   

    我要的是2004-08-04和2004-08-4和2004-8-04这些形式都是不匹配的,只的2004-8-4是匹配的???请rickjelly2004(rick & jelly) 再想想???
      

  5.   

    ^(?:(?:(?:(?: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]))$
      

  6.   

    谢谢你们的关心,问题解决了rickjelly2004(rick & jelly)的^((((19  &brvbar;20)(([02468][048])  &brvbar;([13579][26]))-2-29))  &brvbar;((20[0-9][0-9])  &brvbar;(19[0-9][0-9]))-(((([1-9])  &brvbar;(1[0-2]))-(([1-9])  &brvbar;(1\d)  &brvbar;(2[0-8])))  &brvbar;(((([13578])  &brvbar;(1[02]))-31)  &brvbar;((([1,3-9])  &brvbar;(1[0-2]))-(29  &brvbar;30)))))$  考虑的更多更多一点,(武装到眼神) 的^[1-9]\d{3}-(1[0-2]  &brvbar;[1-9])-([1-9]  &brvbar;[1-2]\d  &brvbar;3[0-1])$  也实现了基本功能,再次谢谢你们.