关于yyyyMMdd的正则表达式的使用

本文展示了一种使用正则表达式验证日期正确性的方法,包括闰年和平年的日期格式检查,确保日期如20200131或20200229的有效性。
String pattern = "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})"
				+ "(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|"
				+ "(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)";
		System.out.println("20200131是正确的日期吗?" +Pattern.matches(pattern, "20200131"));
		System.out.println("20200132是正确的日期吗?" +Pattern.matches(pattern, "20200132"));
		System.out.println("20201331是正确的日期吗?" +Pattern.matches(pattern, "20201331"));
		System.out.println("20200229是正确的日期吗?" +Pattern.matches(pattern, "20200229"));
		System.out.println("20210229是正确的日期吗?" +Pattern.matches(pattern, "20210229"));
		System.out.println("202001311111是正确的日期吗?" +Pattern.matches(pattern, "202001311111"));


//==================================
20200131是正确的日期吗?true
20200132是正确的日期吗?false
20201331是正确的日期吗?false
20200229是正确的日期吗?true
20210229是正确的日期吗?false
202001311111是正确的日期吗?false

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值