当前位置:   article > 正文

java中如何用正则校验日期_Java基于正则实现的日期校验功能示例

java日期不带时间正则校验

privatevoidcheckDate()throwsIOException {

// 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("");

intcount =0;

String fileName = ExcelGene.class.getResource("date.txt").getFile();

BufferedReader br =newBufferedReader(newFileReader(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 +"日");

}

}

}

}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/119333
推荐阅读
相关标签
  

闽ICP备14008679号