作者: xixigongzhu(夕夕公主)      http://search.csdn.net/Expert/topic/1974/1974227.xml?temp=.6640131

首先,你的年的范围是1800-3999
润年:
1800,1900,2100,2200,2300,2500,2600,2700,2900,3000,3100,3300,3400,3500,3700,3800,3900是个特殊值(能被4整除但不是润年),要分出来:
String leap1 = "(((1[8-9])|([2-3][0-9]))(0|2|4|6|8)(4|8))";
String leap2 = "(((2(0|4|8))|(3(2|6)))00)";
其他的0结尾的:
String leap3 = "(((1[8-9])|([2-3][0-9]))(2|4|6|8)0)";
2,6结尾的:
String leap4 = "(((1[8-9])|([2-3][0-9]))(1|3|5|7|9)(2|6))";
润年2月:
String leapmonth = "(02-(([0-1][1-9])|(10)|(2[0-8])))";
其它月份:
String other1 = "(((01)|(0[3-9])|(1[0-2]))-(([0-2][1-9])|([1-3]0)))";
String other2 = "(((0(1|3|5|7|8))|(10)|(12))-(31))";
把上面4种正则表达式用|连接,然后加上润年的2月和其他月份的处理:
String leap = "(" + leap1 + "|" + leap2 + "|" + leap3 + "|" + leap4 + ")-("
              + leapmonth + "|" + other1 + "|" + other2 + ")";

非润年:
String noleap1 = "(((1[8-9])|([2-3][0-9]))(0|2|4|6|8)(1|2|3|5|6|7|9))";
String noleap2 = "(((1[8-9])|(2(1|2|3|5|6|7|9))|(3(0|1|3|4|5|7|8|9)))00)";
String noleap3 = "(((1[8-9])|([2-3][0-9]))(1|3|5|7|9)(0|1|3|4|5|7|8|9))";
非润年2月:
String month = "(02-(([0-2][1-9])|([1-2]0)))";
把上面3种正则表达式用|连接,然后加上非润年2月和其他月份的处理:
String noleap = "(" + noleap1 + "|" + noleap2 + "|" + noleap3 + ")-("
                + month + "|" + other1 + "|" + other2 + ")";

润年和非润年的正则表达式的组合就是了:
String yearregex = leap + "|" + noleap;

带闰年判断的正则表达式相关推荐

  1. java闰年判断原理_java 面试题闰年判断详解及实例

    java 面试题闰年判断详解及实例 java 闰年判断 前言: 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数: 2. 年份是400 ...

  2. LeetCode 1360. 日期之间隔几天(闰年判断)

    1. 题目 请你编写一个程序来计算两个日期之间隔了多少天. 日期以字符串形式给出,格式为 YYYY-MM-DD,如示例所示. 示例 1: 输入:date1 = "2019-06-29&quo ...

  3. 蓝桥杯基础练习一闰年判断

    蓝桥杯基础练习一闰年判断 会不定时发布蓝桥杯练习题目,有需要的可以关注一下,谢谢! 1.闰年判断问题 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个年份,判断这一年是不是闰 ...

  4. Java程序流程控制(符号函数sgn、闰年判断)

    选择.循环.跳转 块(block):复合语句:由一对{ }起来的Java语句 block控制着变量的作用域(scope) public static void main(String[] args){ ...

  5. jQuery实现平年闰年判断

    <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">   ...

  6. 蓝桥杯基础练习之 闰年判断 、 01字串 、查找整数、数列特征 、字母图形

     闰年判断 问题描述 给定一个年份,判断这一年是不是闰年. 当以下情况之一满足时,这一年是闰年: 1. 年份是4的倍数而不是100的倍数: 2. 年份是400的倍数. 其他的年份都不是闰年. 输入格式 ...

  7. 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序

    记录洛谷刷题QAQ 一.[深基3.例3]闰年判断 题目描述 输入一个年份,判断这一年是否是闰年,如果是输出 111,否则输出 000. 输入格式 输入一个正整数 nnn,表示年份. 输出格式 输出一行 ...

  8. python闰年判断 从儒略历到格里高利历 公历历史

    上大学时学编程,老师和教材都告诉我,闰年的判断有两个原则: 1)能被4正确,且不能被100整除,则是闰年: 2)能被400整除,则是闰年. 今年看了一个python闰年判断的代码,惊得下巴都掉地上了. ...

  9. 【C语言】之实现闰年判断

    /** 文件名:leapYear.c* 功能:任意输入一个年份,判断其是否为闰年* 编辑人:王廷云 */ #include <stdio.h> #include <stdlib.h& ...

最新文章

  1. 决策树 bagging boosting 的区别
  2. python 元组和字典的返回值后面有个L是什么意思
  3. Bug思路不清晰严谨
  4. java中的exception stack有时候不输出的原因
  5. 谈一谈并查集QAQ(上)
  6. struts2的s:iterator 标签 详解
  7. 【Mysql】数据库主从搭建-基于docker
  8. 深入理解BitMap
  9. 堡垒之夜安装包删除_堡垒之夜安装不了怎么办_常见安装下载问题解决方法_3DM网游...
  10. 源码解析Servlet和HttpServlet
  11. 中国自动上弦手表市场趋势报告、技术动态创新及市场预测
  12. 英飞凌TC264学习(三)定时器
  13. 【其它笔记】驾考科目四笔记
  14. DSP开发的一点概念
  15. wegame导致win10无限重启问题解决
  16. 梨花院落溶溶月,柳絮池塘淡淡风-- 我心中的七剑与梁羽生
  17. 在python做对应分析_案例6:SPSS--对应分析
  18. VS x86 x64 anycpu 编译运行对照表
  19. 社会综合治理智慧综治管理系统平台Java商业源码
  20. html结构内容拾忆

热门文章

  1. 缓存在哪里_APP下载的视频都在哪?教你将缓存视频拿出来
  2. Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)
  3. 读后感与机翻《基于理论的因果迁移:结合实例级的归纳和抽象级的结构学习》
  4. WatchClear 方法 html5,clearWatch()
  5. 强哥原创管理方法论之“掌纹管理学”
  6. JS加法函数,用来得到精确的加法结果(说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果)
  7. Unity Pro builder创建模块化仓库建筑学习教程
  8. Revit结构2021-2022从零到精通
  9. ue5新手零基础学习教程 Unreal Engine 5 Beginner Tutorial - UE5 Starter Course
  10. C++ 多线程:互斥对象 lock_gurad