使用Python获取日期字符串的最佳方法

时间:2011-04-10 05:25:41

标签: python regex parsing date

使用Python从网站获取约会的最佳方法是什么?

例如,约束可以采用以下形式:

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

这需要大量的正则表达式吗?什么是最优雅的解决方案?

2 个答案:

答案 0 :(得分:2)

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

从它的示例Wiki页面,这里有几种可以处理的格式与您的问题相关:

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

编辑:现在我注意到它实际上是this SO question的副本,建议使用相同的库!

答案 1 :(得分:1)

    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}
                     ]