import re
st = """data/policy/line[Type="BusinessOwners"]/risk/coverage[Type="FuelHeldForSale"]/id"""
pattern = re.compile(r'(\w+)\[(\w+)=\"(\w+)\"\]')
def get_replacement(item):
match = pattern.fullmatch(item)
if match:
return match.group(1), {match.group(2): match.group(3)}
return item,
paths = []
for item in st.split('/'):
paths.extend(get_replacement(item))
print(paths)
aW1wb3J0IHJlCgpzdCA9ICIiImRhdGEvcG9saWN5L2xpbmVbVHlwZT0iQnVzaW5lc3NPd25lcnMiXS9yaXNrL2NvdmVyYWdlW1R5cGU9IkZ1ZWxIZWxkRm9yU2FsZSJdL2lkIiIiCnBhdHRlcm4gPSByZS5jb21waWxlKHInKFx3KylcWyhcdyspPVwiKFx3KylcIlxdJykKCmRlZiBnZXRfcmVwbGFjZW1lbnQoaXRlbSk6CiAgICBtYXRjaCA9IHBhdHRlcm4uZnVsbG1hdGNoKGl0ZW0pCiAgICBpZiBtYXRjaDoKICAgICAgICByZXR1cm4gbWF0Y2guZ3JvdXAoMSksIHttYXRjaC5ncm91cCgyKTogbWF0Y2guZ3JvdXAoMyl9CiAgICByZXR1cm4gaXRlbSwKCnBhdGhzID0gW10KZm9yIGl0ZW0gaW4gc3Quc3BsaXQoJy8nKToKICAgIHBhdGhzLmV4dGVuZChnZXRfcmVwbGFjZW1lbnQoaXRlbSkpCiAgICAKcHJpbnQocGF0aHMp