python正则表达式匹配并替换日期

时间:2011-04-25 20:57:41

标签: python regex datetime date

我需要在表单中匹配日期:

2012年1月10日

并以表格替换:

2012年1月10日

这是我到目前为止所做的:

        pattern = re.findall(r'(?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d\d,\s\d{4}', text)
        print pattern

我如何更换?

2 个答案:

答案 0 :(得分:5)

使用strptime()解析日期,使用strftime()生成新字符串。在这种情况下没有理由使用正则表达式。

In [1]: import time
In [2]: tm = time.strptime('January 10, 2012', '%B %d, %Y')
In [3]: time.strftime('%d %B %Y', tm)
Out[4]: '10 January 2012'

答案 1 :(得分:0)

总的来说,就像这样:

查找:^(January) (\d{1,2}), (\d{4})$ 替换$2 $1 $3