1

我正在尝试使用正则表达式解析日期,使用组,但 python 返回空列表。我没有做任何花哨的事情,只是 12/25/10 之类的东西。我希望它拒绝 12/25-10。

date = re.compile("\d{1,2}([/.-])\d{1,2}\1\d{2}")

我试过在线正则表达式库,但他们的解决方案似乎也没有运行。有任何想法吗?

示例输入:“你好今天是 10/18/10,时间是上午 10:50” 希望输出:“10/18/10”

我正在运行 Python 2.5。

4

3 回答 3

5

使用原始字符串:

date = re.compile(r"\d{1,2}([/.-])\d{1,2}\1\d{2}")

否则,\1字符串文字中的 被解释为字符 1(标题开头)。

编辑:要为日期组件添加组,请使用:

re.compile(r"(\d{1,2})([/.-])(\d{1,2})\2(\d{2})")
于 2010-10-17T04:06:24.377 回答
5

您应该使用 Python 的内置strptime

于 2010-10-17T04:09:31.283 回答
2

无疑是矫枉过正,但“parsedatetime”库一直在为我工作:http ://code.google.com/p/parsedatetime/

它确实在内部使用了正则表达式,但不仅仅是解析 MM/DD/YY 格式。

于 2010-10-17T04:08:14.057 回答