我有一个表示日期的字符串,例如"2010.12.25"
。如何控制它是否为“yyyy.MM.dd”格式?没有必要检查日期的有效性。groovy/java正则表达式检查是否“yyyy.MM.dd”格式
回答
你的正则表达式,在Groovy中,你可以这样做:
boolean match = "2010.12.12" ==~ /\d{4}\.\d{2}\.\d{2}/
您可以使用这样的SimpleDateFormat
来检查日期的格式,因为使用regex
来验证日期格式是一种非常糟糕的做法,恕我直言。
String strDate = "2010.12.25";
DateFormat df = new SimpleDateFormat("yyyy.MM.dd");
try {
Date date = df.parse(strDate);
// If it comes here, then its a valid format
} catch (ParseException pe) {
// If it comes here, then its not a valid date of this format.
}
@NandkumarTekale - 请参阅文档。 “mm”是分钟,“MM”是月份。 – SudoRahul
使用SimpleDateFormat
到parse()
字符串,处理异常来决定,如果它是一个有效的日期字符串。不要使用正则表达式来检查日期。例如:
2010.30.40
2010.13.34
尝试这种与方法isValid(String dateStr)
检查这一点,
boolean isValid(String dateStr) {
Matcher matcher=
Pattern.compile("\\d{4}\\.\\d{2}\\.\\d{2}").matcher(dateStr);
return matcher.matches();
}
'.'匹配任何字符,例如'1234567890'会匹配。 – OGHaza
@OGHaza,我已经更新了答案。 – Masudul
现在'0000.00.00'或'9999.99.99'怎么样? – Imagination
试试这个
String a = "2010.12.12";
System.out.println(a.matches("\\d{4}\\.\\d{2}\\.\\d{2}"));
输出将true
这不会'检查日期的有效性.' – Imagination
@想象中的问题:_“没有必要检查日期的有效性”_ –
@tim_yates是的,我错过了'NO'...比它好。 ... – Imagination
try {
Date.parse('yyyy.MM.dd', '2013.12.21')
} catch(java.text.ParseException p) {
println "Unparseable Date"
}
您还可以使用Groovy日期解析,检查日期格式的准确性。
奇怪的是,它并不总是适用于例如如果您将日期输入为2016.01.99,则仍然会对其进行解析 – rboy
- 1. 正则表达式和格式检查
- 2. 检查表达式是否与正则表达式匹配
- 3. 正则表达式来检查空格是否存在?
- 4. 正则表达式来检查空格
- 5. 正则表达式检查
- 6. 检查两个Python正则表达式模式是否相同
- 7. 正则表达式规则,以检查是否有子域
- 8. php reg表达式检查日期格式是否正确
- 9. 正则表达式来检查公式
- 10. Javascript正则表达式检查模式
- 11. 用于检查JavaScript输入是否为特定格式的正则表达式?
- 12. 检查是正则表达式有效通过正则表达式
- 13. 正则表达式检查是否“和,或不,并且不是”?
- 14. 正则表达式格式
- 15. 检查正则表达式模式是正确的
- 16. AIR,Flex - 如何检查正则表达式是否有效
- 17. Python正则表达式检查是否包含特定字符
- 18. 检查文件是否使用正则表达式
- 19. 如何检查是否正则表达式返回nil?
- 20. 检查字符串是否包含正则表达式匹配
- 21. 正则表达式:检查逗号之间是否存在值
- 22. 正则表达式来检查一个数是否为偶数
- 23. 如何检查是否在括号中的正则表达式
- 24. 检查新行是否使用正则表达式
- 25. 正则表达式不会检查是否有空间或不
- 26. 如何检查正则表达式是否仅匹配数字?
- 27. 正则表达式来检查JSON是否包含数组
- 28. 库检查两个正则表达式是否相等/同构
- 29. 检查字符串是否像正则表达式
- 30. 正则表达式来检查用户名是否有效
你是什么意思控制?你究竟需要什么? –
使用简单的日期格式,请参考[this](http://stackoverflow.com/questions/15760248/how-to-create-date-object-from-string-value) –