通过匹配字符串中的日期格式使用Java提取日期

时间:2014-11-25 15:54:06

标签: java regex date date-format simpledateformat

是否有人知道第三方软件包直接找到与Java DateFormat匹配的输入字符串部分?换句话说,将DateFormat转换为正则表达式?

,例如,它可能会转换;

DateFromat df = new SimpleDateFormat("MM/dd/yyyy")

类似于"(0[1-9]|1[0-2])\\/(0[1-9]|1[0-9]|2[0-9]|3[01])\\/([0-9]{4})",以便您可以使用无缝方法,例如(幻想代码):

DateFormat df = new SimpleDateFormat("MM/dd/yyyy");

DateMatcher dm = df.dateMatcher(inputString);

while (dfm.findDate()) {
#dostuff
}; // or 

if (dfm.matchesDate()) #dosomething

2 个答案:

答案 0 :(得分:2)

SimpleDateFormat#toPattern获取String个实例的模式SimpleDateFormat!因此,使用您选择的构造函数实例化SimpleDateFormat并使用toPattern提取模式String

答案 1 :(得分:1)

是的,这个神奇的解析器代码在joda-time包中可用。检查DateTimeParser的实现。

检查类InternalParserDateTimeParser,DateTimeParserBucket以了解jodatime如何从输入行提取日期作为给定模式。