import re

pattern = r"_?(\d+)|_"
i = "fields_5_type_fields_1_name"
res = re.sub(pattern, lambda x: f"[{x.group(1)}]" if x.group(1) else ".", i)
print(res)