2011-04-25 71 views
0

我需要在形式上符合日期:蟒蛇正则表达式匹配和替换日期

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 

我该如何更换?

+0

问题是什么? – 2011-04-25 20:59:58

+0

作业问题? – 2011-04-25 21:00:16

+2

你有什么尝试?请发布您的代码以及您遇到的任何特定问题。 – 2011-04-25 21:00:40

回答

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' 
+0

-1:对问题反应太强。 – 2011-04-25 23:30:51

0

只是一般,这样的事情:

发现:^(January) (\d{1,2}), (\d{4})$ 更换$2 $1 $3