Java基于正则实现的日期校验功能示例
本文实例讲述了Java基于正则实现的日期校验功能。分享给大家供大家参考,具体如下:
privatevoidcheckDate()throwsIOException{ //4种分隔符 Stringsep="[-\\./_]"; //年份 StringstrPattern="^(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+=")$"; Patternp=Pattern.compile(strPattern); Matcherm=p.matcher(""); intcount=0; StringfileName=ExcelGene.class.getResource("date.txt").getFile(); BufferedReaderbr=newBufferedReader(newFileReader(fileName)); Stringline=null; while((line=br.readLine())!=null){ count++; if(line.trim().length()>0){ m.reset(line); if(!m.find()){ System.out.println(count+""+line); }else{ Stringyear=m.group(1); Stringmonth=m.group(4); month=month==null?m.group(7):month; month=month==null?m.group(10):month; Stringdate=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程序设计有所帮助。