时间:2021-05-20
本文实例讲述了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.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java基于正则表达式实现查找匹配的文本功能。分享给大家供大家参考,具体如下:REMatch.java:packagereMatch;import
简言在表单验证中,经常会用正则表达式做出生日期校验。本文把出生日期分割成几个部分,分步地介绍了实现一个出生日期校验的完整过程。相信您在理解了本篇的内容后,对编写
本文实例讲述了java基于正则表达式实现时间日期的常用判断操作。分享给大家供大家参考,具体如下:最近需要完成一个判断用户输入时间日期类型来进行相应操作的业务。实
java正则实现各种日期格式化packagecom.st.test;importjava.text.DateFormat;importjava.text.Sim
本文实例讲述了Java正则判断日期格式是否正确的方法。分享给大家供大家参考,具体如下:1、Java中用正则表达式判断日期格式是否正确DateType.java: