您好,登錄后才能下訂單哦!
本文實例講述了Java基于正則實現(xiàn)的日期校驗功能。分享給大家供大家參考,具體如下:
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è)計有所幫助。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。