java正则判断日期格式_Java中用正则表达式判断日期格式是否正确

1、Java中用正则表达式判断日期格式是否正确

DateType.java:

/**

* @Title:DateType.java

* @Package:com.you.dao

* @Description:

* @Author: 游海东

* @date: 2014年3月8日 下午10:54:50

* @Version V1.2.3

*/

package com.you.dao;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* @类名:DateType

* @描述:

* @Author:游海东

* @date: 2014年3月8日 下午10:54:50

*/

public class DateType

{

/**

*

* @类名:DateSelect

* @描述:

* @Author:游海东

* @date: 2014年3月8日 下午11:09:37

*/

public static class DateSelect

{

public boolean isDate(String date)

{

/**

* 判断日期格式和范围

*/

String rexp = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";

Pattern pat = Pattern.compile(rexp);

Matcher mat = pat.matcher(date);

boolean dateType = mat.matches();

return dateType;

}

}

/**

* @Title : main

* @Type : DateType

* @date : 2014年3月8日 下午10:54:50

* @Description :

* @param args

*/

public static void main(String[] args)

{

/**

* 日期格式正确

*/

String date1 = "2014-01-03";

/**

* 日期范围不正确---平年二月没有29号

*/

String date2 = "2014-02-29";

/**

* 日期月份范围不正确---月份没有13月

*/

String date3 = "2014-13-03";

/**

* 日期范围不正确---六月没有31号

*/

String date4 = "2014-06-31";

/**

* 日期范围不正确 ----1月超过31天

*/

String date5 = "2014-01-32";

/**

* 这个测试年份

*/

String date6 = "0014-01-03";

DateSelect date = new DateSelect();

/**

* 打印正确日期格式

*/

System.out.println(date.isDate(date1));

/**

* 打印date1

*/

System.out.println(date.isDate(date2));

/**

* 打印date3

*/

System.out.println(date.isDate(date3));

/**

* 打印date4

*/

System.out.println(date.isDate(date4));

/**

* 打印date5

*/

System.out.println(date.isDate(date5));

/**

* 打印date6

*/

System.out.println(date.isDate(date6));

}

}

2、运行结果

true

false

false

false

false

true

在Java中用正则表达式判断一个字符串是否是数字的方法

package chengyujia; import java.util.regex.Pattern; public class NumberUtil { /** * 判断一个字符串是否是数字. * ...

java中用正则表达式判断中文字符串中是否含有英文或者数字

public static boolean includingNUM(String str)throws  Exception{ Pattern p  = Pattern.compile(" ...

JAVA中判断年月日格式是否正确(支持判断闰年的2月份)

一.先说一下年月日(yyyy-MM-dd)正则表达式: 1.年月日正则表达式:^((19|20)[0-9]{2})-((0?2-((0?[1-9])|([1-2][0-9])))|(0?(1|3|5| ...

关于Java中文乱码与日期格式

关于Java中文乱码与日期格式 Java中文乱码的问题其实很普遍了,首先,一般不会在Windows平台下面出现,同时,一般在Tomcat应用服务器下也都正常,但是到了WebSphere,Weblogi ...

JS判断上传图片格式是否正确

Java中用正则表达式截取字符串中

Java中用正则表达式截取字符串中第一个出现的英文左括号之前的字符串.比如:北京市(海淀区)(朝阳区)(西城区),截取结果为:北京市.正则表达式为() A ".*?(?=\\()" ...

随机推荐

剑指Offer面试题:20.栈的压入、弹出序列

一.题目:栈的压入.弹出序列 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1.2.3.4.5是某栈的压栈序列,序列4 ...

vue-lazy-render: 延迟渲染大组件,增强页面切换流畅度

最近用element来做项目,在开发的过程中,突然发现页面的操作和切换在数据量大的时候相当卡,后来提了个issue,在furybean解答后才知道,我每个单元格都加了tooltip,会生成大量的节点, ...

如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可

如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时 ...

mac jdk设置

mac系统一般默认会安装jdk 1.6,路径为/System/Library/Java/JavaVirtualMachines/1.6.0.jdk,此Jdk为系统默认jdk; 但某些框架/应用要求jd ...

Es6 之for of

能工摹形,巧匠窃意. -- 毕加索 2016-10-10

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java正则表达式截取可以使用java.util.regex包下的Pattern和Matcher类来实现。首先,你需要创建一个正则表达式对象,使用Pattern.compile()方法并传入你的正则表达式作为参数。然后,你可以使用Matcher类的find()方法来寻找匹配的子串。最后,你可以使用Matcher类的group()方法来获取匹配到的子串。 例如,如果你想要截取一个字符串中包含在"ns=["和"]"之间的子串,你可以使用如下的正则表达式:"(?<=ns=\[).*?(?=])"。这个正则表达式会匹配以"ns=["开头,以"]"结尾的子串。 具体的实现步骤如下: 1. 创建一个正则表达式对象,使用Pattern.compile()方法,并传入你的正则表达式作为参数。 2. 创建一个Matcher对象,使用pattern.matcher()方法,并传入你要匹配的字符串作为参数。 3. 使用Matcher对象的find()方法来查找匹配的子串。 4. 使用Matcher对象的group()方法来获取匹配到的子串。 下面是一个示例代码: ```java String content = "ns=[example]"; String regex = "(?<=ns\\<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Java中用正则表达式截取字符串](https://blog.csdn.net/ysaicll/article/details/78824330)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [java正则表达式截取特定字符串内容](https://blog.csdn.net/u013037007/article/details/125934538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值