求日期格式正则表达式

求日期格式正则表达式

String a = "yyyyMMdd";
String b = "yyyy MM dd";
String c = "yyyy-MM-dd";
String d = "yyyy/MM/dd";
String e = "yyyy.MM.dd";
String f = "MM-yyyy-dd";
String g = "dd MM yyyy";
String h = "yyyy-dd-MM";
//匹配上面的格式
//年 月 日 位置变换 还可以匹配的正则~

 一、简单的日期判断(YYYY/MM/DD): 
^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$
二、演化的日期判断(YYYY/MM/DD| YY/MM/DD): 
 ^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$
三、加入闰年的判断的:
实例:
            ^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$

http://www.cnblogs.com/jay-xu33/archive/2009/01/08/1371953.html

正则或一下就可以了,你肯定是懒

你这个本身是有歧义的
比如 2016-02-03
到底算yyyy-dd-MM还是yyyy-MM-dd

首先你要归纳出一个没有歧义的列表。
然后正则很简单,用(格式1)|(格式2)|(格式3)...
这样罗列下就可以了。

 yyyy-MM-dd
就是
(19)|(20)\d{2}\-\d{2}\-\d{2}