import re
strings = ['PT1M6S', 'PT38S', 'PT58M4']
rx = re.compile(r'^PT(?:(\d+)M)?(?:(\d+)S?)?$')
for s in strings:
print(s, ' => ', rx.sub(lambda x: f"{(x.group(1) or '00').zfill(2)}:{(x.group(2) or '00').zfill(2)}", s))
aW1wb3J0IHJlCnN0cmluZ3MgPSBbJ1BUMU02UycsICdQVDM4UycsICdQVDU4TTQnXQpyeCA9IHJlLmNvbXBpbGUocideUFQoPzooXGQrKU0pPyg/OihcZCspUz8pPyQnKQpmb3IgcyBpbiBzdHJpbmdzOgogIHByaW50KHMsICcgPT4gJywgcnguc3ViKGxhbWJkYSB4OiBmInsoeC5ncm91cCgxKSBvciAnMDAnKS56ZmlsbCgyKX06eyh4Lmdyb3VwKDIpIG9yICcwMCcpLnpmaWxsKDIpfSIsIHMpKQ==