python 正则识别日期

我有一段文本

aaa = "\nNOTE: Log file opened at  Tue, 3 Jul 2018 15:14:42.105\n"

想要写正则表达式来识别其中的日期 "3 Jul 2018" 。如果是2018年7月13日发生的就会写成"13 Jul 2018" 这样。

我自己写了一段code,不过好像没用,只能出"Jul"

p1 =  "\d{2} (:?Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}"
re.findall(p1, aaa)

请大神们帮我看看问题出在哪里?还有日期是一位或者两位这样的情况怎么识别?

阅读 1.7k
1 个回答
import re

aaa = "\nNOTE: Log file opened at Tue, 3 Jul 2018 15:14:42.105\n"
pattern = re.compile(r'\d{1,2} (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}')
pattern.findall(aaa)
# ['3 Jul 2018']
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题