Sep 25, 2013 4:51:00 PM
想要为上面的日期时间格式创建一个正则表达式,我有以下时间正则表达式
([1-9]|1[0-2]|):([0-5][0-9]:[0-5][0-9]) (AM|am|PM|pm)
但似乎无法弄清楚日期,任何帮助将不胜感激!
为什么不直接使用
String text = "Sep 25, 2013 4:51:00 PM";
Date date = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss a").parse(text);
你想达到什么目的?我只能猜测您想从日期中获取一些组件,因此 SimpleDateFormat 可能是您真正想要的。建议使用它而不是正则表达式,因为它还可以处理语言环境,这是 RegExp 无法做到的。
编辑:
你应该有一个像 (Jan|Feb| ... |Dec) 这样的月份的 OR 正则表达式,其余的很简单,匹配空格 \s*,匹配日期 [0-9]{1,2},匹配 a ,
,再次匹配一些空格 \s*,匹配年份 [0-9]{4},另一个空格 \s* 和 RegExp 的其余部分。
([0-9]{4}[-][0-9]{2}[-][0-9]{2}[-][0-9]{2}[-][0-9] {2}) 1980-02-02-05-00