求日期格式正则表达式 3C

求日期格式正则表达式

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";
//匹配上面的格式
//年 月 日 位置变换 还可以匹配的正则~

4个回答

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

new_culture
new_culture 现在就等着用呢,完了学习~
大约 4 年之前 回复
qq_16877261
逍遥侯之水流云 回复new_culture: 正则表达式有很大的用处,可以学习一下,正则表达式很强大。
大约 4 年之前 回复
new_culture
new_culture 你给我或一下我看看~
大约 4 年之前 回复
new_culture
new_culture 正则我不会啊 我要会就自己写了。。
大约 4 年之前 回复

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

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

new_culture
new_culture 现在输入式格式,根据格式去解析时间就可以了,比如yyyy-MM-dd,解析时间,月份就放在了中间,。。以此类推~
大约 4 年之前 回复
 yyyy-MM-dd
就是
(19)|(20)\d{2}\-\d{2}\-\d{2}
 一、简单的日期判断(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

new_culture
new_culture 不需要什么润年,只要能匹配日期格式就行了~
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐