2011-04-25 85 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