我有一个脚本用于解析电子邮件头中表示日期和时间的字段。以下是一些示例字符串:
我尝试使用正则表达式来匹配字符串的日期部分,同时排除末尾的时区信息,但是我在使用正则表达式时遇到了问题(无法匹配冒号)。
在解析上述所有示例的过程中,使用正则表达式是最好的方法吗?如果是,有人可以分享一个能够匹配这些示例的正则表达式吗?最终,我希望获得一个日期时间对象。
Fri, 10 Jun 2011 11:04:17 +0200 (CEST)
Tue, 1 Jun 2011 11:04:17 +0200
Wed, 8 Jul 1992 4:23:11 -0200
Wed, 8 Jul 1992 4:23:11 -0200 EST
在我遇到一些字符串末尾带有CEST/EST的情况之前,我只是使用datetime.datetime.strptime
来使事情顺利进行,就像这样:
msg['date'] = 'Wed, 8 Jul 1992 4:23:11 -0200'
mail_date = datetime.datetime.strptime(msg['date'][:-6], '%a, %d %b %Y %H:%M:%S')
我尝试使用正则表达式来匹配字符串的日期部分,同时排除末尾的时区信息,但是我在使用正则表达式时遇到了问题(无法匹配冒号)。
在解析上述所有示例的过程中,使用正则表达式是最好的方法吗?如果是,有人可以分享一个能够匹配这些示例的正则表达式吗?最终,我希望获得一个日期时间对象。