本文實(shí)例講述了Java基于正則實(shí)現(xiàn)的日期校驗(yàn)功能。分享給大家供大家參考,具體如下:
曹縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,曹縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為曹縣千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的曹縣做網(wǎng)站的公司定做!
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款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家java程序設(shè)計(jì)有所幫助。