import re
pattern = r"\b(?P<year>\d{4})(-)?(?P<month>(?(2)\d\d?|\d\d))\b"
s = ("202301\n"
"2023-1\n"
"2023-01\n"
"20231")
for m in re.finditer(pattern, s):
print(m.groupdict())
aW1wb3J0IHJlCgpwYXR0ZXJuID0gciJcYig/UDx5ZWFyPlxkezR9KSgtKT8oP1A8bW9udGg+KD8oMilcZFxkP3xcZFxkKSlcYiIKcyA9ICgiMjAyMzAxXG4iCiAgICAgICAgICAgICIyMDIzLTFcbiIKICAgICAgICAgICAgIjIwMjMtMDFcbiIKICAgICAgICAgICAgIjIwMjMxIikKCmZvciBtIGluIHJlLmZpbmRpdGVyKHBhdHRlcm4sIHMpOgogICAgcHJpbnQobS5ncm91cGRpY3QoKSk=