`

日期格式正则:日期正则及日期加时间的正则

阅读更多
@Test public void Testregexp(){ 

        Pattern p = Pattern.compile("^((\\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][12" +"35679])|([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]))))))"); 
        
        String s = "2003-02-20"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004/02/29"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004/04/31"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004/04/30"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004/04/30"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004/09/30"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
    }
以上运行结果:
2003-02-20 true
2004/02/29 false
2004/04/31 false
2004/04/30 false
2004/04/30 false
2004/09/30 false

@Test public void Testexp(){ 
        
          Pattern p = Pattern.compile("^((\\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]))))))(\\s(((0?[0-9])|([1][0-9])|([2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$"); 
  
          String s = "2003-02-29 23:59:59"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004-02-29 23:59:59"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004-04-31 0:59:59"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004-04-30 01:11:0"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004-04-30 0:0:0"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
  
          s = "2004-04-30 00:00:59"; 
          System.out.println(s + " " + p.matcher(s).matches()); 
    }
以上运行结果:
2003-02-29 23:59:59 false
2004-02-29 23:59:59 true
2004-04-31 0:59:59 false
2004-04-30 01:11:0 true
2004-04-30 0:0:0 true
2004-04-30 00:00:59 true
分享到:
评论

相关推荐

    java代码验证日期格式正则表达式(包含闰年验证)带注释

    * @param 日期验证,验证的格式有: * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd...

    万能日期正则表达式 (适用于各种日期样式)绝对经典

    通过上述实现案例,我们可以看到该万能日期正则表达式能够适应多种日期格式,并且可以通过简单的函数调用来生成相应的正则表达式。这对于实际开发工作中处理多样化的日期格式提供了极大的便利。

    日期正则表达式(很实用)

    最基础的日期格式是`YYYY/MM/DD`,这种格式下日期的正则表达式为: ``` ^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$ ``` - `^\d{4}`:匹配四位数字,即年份。 - `(\-|\/|\.)`:匹配年份与月份之间的分隔符,可以是横线、...

    C# 最全的日期正则表达式,没有之一

    如果需要验证日期时间格式`yyyy-MM-dd HH:mm:ss`,可以添加时间部分的正则表达式: - `([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]`。 - 整合后的完整正则表达式为: - `^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-...

    正则表达式(日期校验)

    日期加时间格式校验 此示例扩展了基础日期格式的校验,加入了对时间的校验,即校验格式为 YYYY-MM-DD HH:mm:ss 的日期加时间。 ```javascript function isDateTime(str) { // 正则表达式:YYYY-MM-DD HH:mm:ss ...

    Java正则校验日期格式包括所有

    "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" "yyyy/MM","yyyy/MM/dd","yyyy/MM/dd HH:mm:ss" "yyyy_MM","yyyy_MM_dd",...

    日期正则表达式

    在 Winform 和 Webform 中,日期选择和校验通常使用日历控件实现,而日期正则表达式则用于验证日期的格式和闰年。 日期正则表达式的书写需要根据具体情况具体分析,一个基本原则就是:只写合适的,不写复杂的。例如...

    电话号码及日期时间提取(正则表达式 C)

    在本项目中,“电话号码及日期时间提取(正则表达式 C)”是一个使用C语言编写的程序,它能够从文本中有效地识别和提取中国大陆的手机号码和固定电话号码,以及简体中文网页中的日期和时间信息。 首先,我们要理解...

    日期时间的正则表达式

    正确构建和应用正则表达式能帮助我们有效地处理各种日期时间格式,确保数据的准确性和一致性。在实际项目中,结合VB.NET提供的强大字符串处理功能,我们可以实现高效且灵活的日期时间处理逻辑。

    易语言正则格式化时间

    3. **正则表达式**:正则表达式用于定义匹配模式,可以用于验证时间格式是否正确,或者提取和替换时间字符串中的部分元素。易语言中的`字符串匹配`和`字符串替换`等函数支持正则表达式操作。 4. **时间解析**:将...

    js正则表达式验证时间格式

    一个正则表达式验证格式的方法 你一个可以调用的demo valid(str,tostr) str:字符串 tostr:格式 yy-mm-dd 支持.,/,-三种格式。

    日期验证的正则表达式很好用

    本文将深入探讨一种用于验证“YYYY-MM-DD”格式日期的正则表达式,并通过C#语言的具体实现来解析其背后的逻辑和技术要点。 #### 一、正则表达式概述 正则表达式是一种强大的文本匹配工具,它允许开发者定义复杂的...

    js(正则表达式)验证时间格式

    可以验证 ','、'-'、'/'不同格式的日期 还可以加上 时间 2010-02-2 12:02:2 进行有效验证 使用正则表达式

    验证日期的正则表达式比较全面地验证

    正则表达式提供了一种强大的文本模式匹配工具,能够帮助开发者快速有效地验证输入数据是否符合预设的格式,如日期格式。 ### 一、日期格式与正则表达式的基本原理 在深入探讨正则表达式的具体应用之前,我们首先...

    正则表达式验证日期格式

    JavaScript正则表达式验证yyyy-mm-dd格式的日期

    正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式

    本文所涉及的知识点集中在正则表达式领域的应用,具体而言,是使用正则表达式来实现日期格式的转换。具体从MM/DD/YYYY格式转换为YYYY-MM-DD格式。在这过程中,我们不仅会探讨正则表达式的应用方法,同时还会涉及日期...

    kettle 根据系统时间加正则表达式动态匹配获取多个文本文件

    kettle 根据系统时间加正则表达式动态匹配获取多个文本文件

    正则表达式以时间的格式替换字符串,输出今天的日期.rb

    在这个“正则表达式以时间的格式替换字符串,输出今天的日期.rb”的项目中,我们主要探讨如何利用正则表达式配合Ruby语言来实现这个功能。Ruby是一种面向对象的脚本语言,它具有简洁的语法和丰富的内置库,非常适合...

Global site tag (gtag.js) - Google Analytics