关于正则表达式:使用Python获取日期字符串的最佳方法

Best way to get date strings with Python

使用python从网站获取日期字符串的最佳方法是什么?

例如,日期字符串的形式可以是:

  • 2011年4月1日
  • 2011年4月2日
  • 2011年4月23日
  • 2011年4月2日
  • 2011年4月23日

这一定是一吨的雷杰克斯吗?最优雅的解决方案是什么?


考虑这个库:http://code.google.com/p/parsedatetime/

从它的示例wiki页面中,可以处理一些与您的问题相关的格式:

1
2
result = p.parseDateText("March 5th, 1980")
result = p.parseDate("4/4/80")

编辑:现在我注意到它实际上是这个问题的一个副本,所以同一个库在哪里被推荐!


1
2
3
4
5
6
7
8
    month = '(jan|feb|mar|apr|may|jun|jul|aug|sep|nov|dec)[a-z]{0,6}'
    regex_strings = ['%s(\.| )\d{1,2},? \d{2,4}' % month, # Month.Day, Year
                     '\d{1,2} %s,? \d{4}' % month, # Day Month Year(4)
                     '%s \d{1,2}\w{2},? \d{4}' % month, # Mon Day(th), Year
                     '\d{1,2} %s' % month, # Day Month
                     '\d{1,2}\.\d{1,2}\.\d{4}', # Month.Day.Year
                     '\d{1,2}/\d{1,2}/\d{2,4}', # Month/Day/Year{2,4}
                     ]