Java基于正則實現(xiàn)的日期校驗功能示例
更新時間:2017年03月02日 10:05:34 作者:kinkding
這篇文章主要介紹了Java基于正則實現(xiàn)的日期校驗功能,涉及java文件讀取、日期轉換及字符串正則匹配相關操作技巧,需要的朋友可以參考下
本文實例講述了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款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg
希望本文所述對大家java程序設計有所幫助。
相關文章
SpringBoot快速整合SpringSecurity的詳細步驟(新手都會!)
日 Spring Security 是針對Spring項目的安全框架,也是Spring Boot底層安全模塊默認的技術選型,他可以實現(xiàn)強大的Web安全控制,下面這篇文章主要給大家介紹了關于SpringBoot快速整合SpringSecurity的詳細步驟,需要的朋友可以參考下2023-03-03Java kafka如何實現(xiàn)自定義分區(qū)類和攔截器
這篇文章主要介紹了Java kafka如何實現(xiàn)自定義分區(qū)類和攔截器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-0630分鐘入門Java8之默認方法和靜態(tài)接口方法學習
這篇文章主要介紹了30分鐘入門Java8之默認方法和靜態(tài)接口方法學習,詳細介紹了默認方法和接口,有興趣的可以了解一下。2017-04-04Java8?Stream?collect(Collectors.toMap())的使用
這篇文章主要介紹了Java8?Stream?collect(Collectors.toMap())的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05