fork download
  1. import re, datetime
  2.  
  3. text = 'L.N.Tolstoy 09.09.1828, A.S.Pushkin 06.06.1799, F.M.Dostoyevsky 11.11.1821 \
  4. Some garbage 111.02.1000 01.01.00000 1.1.1 a10.02.1010 09.09.1021b'
  5.  
  6. pattern = r'(?:\W|^)(\d{2}\.\d{2}\.\d{4})(?=\W|$)' # dd.mm.yyyy
  7. earliest = min(re.finditer(pattern, text), key = lambda x: datetime.datetime.strptime(x.group(1), '%d.%m.%Y'))
  8.  
  9. print (earliest.group(1))
Success #stdin #stdout 0.03s 11032KB
stdin
Standard input is empty
stdout
06.06.1799