In [1]:
import re

In [2]:
re.match("20[01][0-9].*[0-9][0-9].*[0-9][0-9]", '2015-12-16')


Out[2]:
<_sre.SRE_Match object; span=(0, 10), match='2015-12-16'>

In [3]:
m = re.match("20[01][0-9].*[0-9][0-9].*[0-9][0-9]", '2015-12-16')

In [4]:
m.pos


Out[4]:
0

In [5]:
m.groups()


Out[5]:
()

In [6]:
m = re.match("20[01][0-9].*[0-9][0-9].*[0-9][0-9]", 'not-a-date')

In [7]:
m is None


Out[7]:
True

In [8]:
re_date = re.compile("(20[01][0-9]).*([0-9][0-9]).*([0-9][0-9])")

In [9]:
re_date.match('2014-28-01')


Out[9]:
<_sre.SRE_Match object; span=(0, 10), match='2014-28-01'>

In [10]:
m = re_date.match('2014-28-01')

In [11]:
m.groups()


Out[11]:
('2014', '28', '01')