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 + "日");
}
}
}
}
分享到:
相关推荐
### 正则表达式在日期校验中的应用 #### 一、引言 在软件开发过程中,日期格式的校验是非常常见的需求之一。利用正则表达式进行日期格式的校验,不仅可以提高代码的可读性和简洁性,还能有效地确保输入数据的准确...
Java日期校验是通过正则表达式来实现的,正则表达式是一种强大的文本处理工具,能够通过设定的模式来匹配字符串。在Java中,我们可以利用java.util.regex包中的Pattern和Matcher类来对日期字符串进行正则校验。日期...
validate库通常提供了一系列预定义的验证规则,其中包括对字符串、数字、日期等类型的校验。在某些情况下,预定义的规则可能无法满足特定的需求,这时我们可以借助正则表达式来实现更复杂、灵活的验证逻辑。 正则...
在实现日期正则表达式时,需要考虑到日期分类的方法和分支结构的影响。可以采用分类方法将日期分类,然后使用分支结构来实现正则。例如,可以使用 `(exp1|exp2|exp3)` 这种分支结构来实现日期分类后的实现。 在日期...
本文将深入探讨一种用于验证“YYYY-MM-DD”格式日期的正则表达式,并通过C#语言的具体实现来解析其背后的逻辑和技术要点。 #### 一、正则表达式概述 正则表达式是一种强大的文本匹配工具,它允许开发者定义复杂的...
在本项目中,“带有正则表达式校验的TextBox”是一个自定义控件,它是对标准TextBox的扩展,增加了对输入数据进行正则表达式验证的功能。这个控件使得在Windows Forms或ASP.NET应用中,可以更方便地确保用户输入的...
根据给定文件的信息,本文将详细介绍如何利用正则表达式对日期、身份证号码、金额以及电子邮件地址进行有效性检查,并简要介绍如何将金额的小写数值转换为大写形式。 ### 1. 检验日期格式 #### 1.1 日期格式验证的...
这是实现日期格式校验的关键方法。 5. 日期格式的校验范围: 在提供的代码中,日期格式的校验范围包括了年、月、日的正确性,以及不同月份天数的正确性(包括考虑闰年)。通过正则表达式,我们可以非常精确地定义...
本篇将深入探讨如何使用正则表达式和JavaScript来实现日期校验。 首先,我们来看第一个函数 `isdate`,它主要用于校验日期格式是否正确。这个函数通过正则表达式 `/^(\d{1,4})(-\/)(\d{1,2})\2(\d{1,2})$/` 来匹配...
- 虽然通过这种方式裁剪可以得到符合要求的日期正则,但并不建议在所有场景下都使用正则表达式进行日期校验。正则表达式的优势在于其灵活性,应根据具体需求来编写最合适的正则表达式。 - 掌握正则表达式的语法规则...
直接用IE等浏览器打开就行了,别的不多说,大家自己明白!
本篇将详细介绍一个用于验证日期时间格式的正则表达式,并解释其工作原理及应用场景。 #### 核心知识点 ##### 1. 正则表达式概述 正则表达式(Regular Expression)是一种强大的文本模式匹配工具,广泛应用于字符...
本文将深入探讨“日期,日期时间类型数据格式校验”的相关知识点。 首先,日期和日期时间数据格式的多样性是导致校验复杂性的主要原因。常见的日期格式有“年-月-日”(如2022-01-01)、“月/日/年”(如01/01/2022...
JavaScript是一种广泛用于网页和网络应用的编程语言,其在处理用户输入时,数据校验扮演着至关重要的角色。...在实际项目中,我们需要根据业务需求灵活运用正则表达式,以实现高效、准确的数据校验。
虽然这段代码未直接使用正则表达式进行日期格式验证,但结合正则表达式的应用,我们可以创建更全面的日期验证逻辑。 一个简单的日期格式验证正则表达式可以是:`/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|...
接下来我们通过一个具体的函数来实现身份证号码的验证逻辑,该函数不仅包含了上述正则表达式的使用,还增加了对出生日期的验证以及18位身份证号码校验码的计算。 ```javascript function isIdCardNo(num) { num = ...