是否有人知道第三方软件包直接找到与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
答案 0 :(得分:2)
SimpleDateFormat#toPattern
获取String
个实例的模式SimpleDateFormat
!因此,使用您选择的构造函数实例化SimpleDateFormat
并使用toPattern
提取模式String
。
答案 1 :(得分:1)
是的,这个神奇的解析器代码在joda-time包中可用。检查DateTimeParser的实现。
检查类InternalParserDateTimeParser,DateTimeParserBucket以了解jodatime如何从输入行提取日期作为给定模式。