我有一个csv文件,其中有一个日期和时间的字符串表示
2014-05-11T09:00:01.772401
我正在尝试验证它遵循此格式。我的想法是使用正则表达式来匹配类似的模式 4个数字后跟一个 - 2个数字后跟一个 - 依此类推等等,但我对正则表达式不够熟悉,无法构建它。
使用正则表达式验证匹配特定模式的字符串是否最佳,或者我应该使用其他内容。如果正则表达式是你可以提供正则表达式并解释Char在验证过程中代表什么。
此外,任何可以更好地解释正则表达式模式匹配的链接都将非常感激。
答案 0 :(得分:2)
您可以使用SimpleDateFormat来确定字符串表示是否有效。
来自你的字符串
2014-05-11T09:00:01.772401
模式似乎是:yyyy-MM-dd'T'hh:mm:ss.SSSSSS
使用示例:
public static void main(String[] args) {
String t = "2014-05-11T09:00:01.772401";
final String pattern = "yyyy-MM-dd'T'hh:mm:ss.SSSSSS";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
sdf.parse(t);
System.out.println("Valid");
} catch(java.text.ParseException e) {
System.out.println("Invalid format");
}
}