Java基于正則實現(xiàn)的日期校驗功能示例
更新時間:2017年03月02日 10:05:34 作者:kinkding
這篇文章主要介紹了Java基于正則實現(xiàn)的日期校驗功能,涉及java文件讀取、日期轉(zhuǎn)換及字符串正則匹配相關(guān)操作技巧,需要的朋友可以參考下
本文實例講述了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è)計有所幫助。
相關(guān)文章
springboot項目實現(xiàn)斷點續(xù)傳功能
這篇文章主要介紹了springboot項目實現(xiàn)斷點續(xù)傳,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
SpringBoot自定義maven-plugin插件整合asm代碼插樁
本文主要介紹了SpringBoot自定義maven-plugin插件整合asm代碼插樁,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
java使用CompletableFuture分批處理任務(wù)實現(xiàn)
本文主要介紹了java使用CompletableFuture分批處理任務(wù)實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07

