使用python正则表达式匹配日期

时间:2012-04-03 09:24:06

标签: python

如何在一个语句中将以下日期与python正则表达式匹配,日期为:

  11/12/98
   0/0/0
  25/02/1977

以下不适用于0/0/0

 p_date = re.compile(r'(\d{2,4}[/-]\d{2,4}[/-]\d{2,4})')

3 个答案:

答案 0 :(得分:1)

您只需要确定您期望的数字数量。

p_date = re.compile(r'(\d{1,2}[/-]\d{1,2}[/-]\d{1,4})')

然后,如果你想获得分组中的个别数字,

p_date = re.compile(r'(\d{1,2})[/-](\d{1,2})[/-](\d{1,4})')

答案 1 :(得分:0)

检查这种模式似乎是不正确的正则表达式。

'(\d{2,4}[/-]\d{2,4}[/-]\d{2,4})'

因为月,日和年字段的条件为2到4个字符, 这显然不匹配0/0/0

之类的东西

正确的正则表达式是:

'(\d{1,2}[/-]\d{1,2}[/-]\d{1,4})'  # for month,day,year  or day,month,year
                                   # whatever your formate is

答案 2 :(得分:0)

\d{2,4}表示至少2位数的数字,最多4位数。您可以尝试\d{1,2}\d{1,4}来匹配所需的位数。