我正在尝试使用正则表达式解析日期,使用组,但 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。
我正在尝试使用正则表达式解析日期,使用组,但 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。
使用原始字符串:
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})")
您应该使用 Python 的内置strptime。
无疑是矫枉过正,但“parsedatetime”库一直在为我工作:http ://code.google.com/p/parsedatetime/
它确实在内部使用了正则表达式,但不仅仅是解析 MM/DD/YY 格式。