import re
regex = re.compile(r"^([1-9]\d*)-(0[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-2])(?:\x20([01][0-9]|2[0-3]):([0-5]\d):([0-5]\d)(\.\d+)?)?$", flags=re.MULTILINE)
test_str = ("2015-03-32 07:00:00\n"
"2015-05-15 12:00:54.02911")
subst = "year: $1, month: $2, day: $3, hours: $4, minutes: $5, seconds: $6$7"
result = regex.sub(subst, test_str)
if result:
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html