Java基于正则实现的日期校验功能示例

发布时间 - 2026-01-10 23:22:41    点击率:

本文实例讲述了Java基于正则实现的日期校验功能。分享给大家供大家参考,具体如下:

private void checkDate() throws IOException {
    // 4种分隔符
    String sep = "[-\\./_]";
    // 年份
    String strPattern = "^(19[4-9]\\d|20\\d{2})" + sep;
    strPattern += "(";
    // 月(1,3,5,7,8,10,12)
    strPattern += "((0?[13578]|1[02])" + sep + "(0?[1-9]|[12][0-9]|3[01]))|";
    // 月(4,6,9,11)
    strPattern += "((0?[469]|11)" + sep + "(0?[1-9]|[12][0-9]|30))|";
    // 月(2)
    strPattern += "((2)" + sep + "(0?[1-9]|[12]\\d))";
    strPattern += ")$";
    Pattern p = Pattern.compile(strPattern);
    Matcher m = p.matcher("");
    int count = 0;
    String fileName = ExcelGene.class.getResource("date.txt").getFile();
    BufferedReader br = new BufferedReader(new FileReader(fileName));
    String line = null;
    while ((line = br.readLine()) != null) {
      count++;
      if (line.trim().length() > 0) {
        m.reset(line);
        if (!m.find()) {
          System.out.println(count + " " + line);
        } else {
          String year = m.group(1);
          String month = m.group(4);
          month = month == null ? m.group(7) : month;
          month = month == null ? m.group(10) : month;
          String date = m.group(5);
          date = date == null ? m.group(8) : date;
          date = date == null ? m.group(11) : date;
          System.out.println(year + "年" + month + "月" + date + "日");
        }
      }
    }
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

希望本文所述对大家java程序设计有所帮助。


# Java  # 正则  # 日期校验  # javax.validation自定义日期范围校验注解操作  # java正则表达式校验日期格式实例代码  # Java日期工具类时间校验实现  # 正则表达式  # 给大家  # 所述  # 程序设计  # 再为  # 测试工具  # 分隔符  # 讲述了  # Matcher  # compile  # int 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何基于云服务器快速搭建个人网站?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Python进程池调度策略_任务分发说明【指导】  js实现获取鼠标当前的位置  Laravel如何实现文件上传和存储?(本地与S3配置)  如何快速搭建个人网站并优化SEO?  深圳网站制作的公司有哪些,dido官方网站?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  LinuxCD持续部署教程_自动发布与回滚机制  大连网站制作公司哪家好一点,大连买房网站哪个好?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  HTML 中如何正确使用模板变量为元素的 name 属性赋值  如何确认建站备案号应放置的具体位置?  iOS UIView常见属性方法小结  高端云建站费用究竟需要多少预算?  Python文本处理实践_日志清洗解析【指导】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  无锡营销型网站制作公司,无锡网选车牌流程?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  jQuery 常见小例汇总  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel如何使用模型观察者?(Observer代码示例)  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  如何为不同团队 ID 动态生成多个“认领值班”按钮  如何在云主机上快速搭建网站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  如何在橙子建站中快速调整背景颜色?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  Python结构化数据采集_字段抽取解析【教程】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何生成腾讯云建站专用兑换码?  免费网站制作appp,免费制作app哪个平台好?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  高防服务器如何保障网站安全无虞?