日期正则表达式/ MM / yyy或yyyy

时间:2015-06-18 15:25:53

标签: regex

我有一个日期字段,其日期为“dd / MM / yyy”格式或“yyyy”。 所以我使用了这个正则表达式:

REGEX_DATE = "^((([0]{1}[1-9]{1})|([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1}))"
            + "/(([0]{1}[1-9]{1})|([1]{1}[0-2]{1}))/([0-9]{4}))"
            + "|(([1]{1}([9]{1})[1-9]{1}[0-9]{1}))"
            + "|(([2]{1}([0-9]{3}))) "
            + "|^((([0]{1}[1-9]{1})|([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1}))(([0]{1}[1-9]{1})|([1]{1}[0-2]{1}))([0-9]{4}))"
            + "|^$";

但格式为“yyyy”的日期不起作用。我的错误在哪里?

谢谢!

1 个答案:

答案 0 :(得分:0)

你不能用这个:

((0[0-9]|1[0-2])\/([0-2][0-9]|3[0-1])\/)?\d{4}