fork download
  1. import re
  2.  
  3. pattern = r"\b(?P<year>\d{4})(-)?(?P<month>(?(2)\d\d?|\d\d))\b"
  4. s = ("202301\n"
  5. "2023-1\n"
  6. "2023-01\n"
  7. "20231")
  8.  
  9. for m in re.finditer(pattern, s):
  10. print(m.groupdict())
Success #stdin #stdout 0.03s 9876KB
stdin
Standard input is empty
stdout
{'year': '2023', 'month': '01'}
{'year': '2023', 'month': '1'}
{'year': '2023', 'month': '01'}