fork(2) download
  1. import re
  2.  
  3. st = """data/policy/line[Type="BusinessOwners"]/risk/coverage[Type="FuelHeldForSale"]/id"""
  4. pattern = re.compile(r'(\w+)\[(\w+)=\"(\w+)\"\]')
  5.  
  6. def get_replacement(item):
  7. match = pattern.fullmatch(item)
  8. if match:
  9. return match.group(1), {match.group(2): match.group(3)}
  10. return item,
  11.  
  12. paths = []
  13. for item in st.split('/'):
  14. paths.extend(get_replacement(item))
  15.  
  16. print(paths)
Success #stdin #stdout 0.04s 9516KB
stdin
Standard input is empty
stdout
['data', 'policy', 'line', {'Type': 'BusinessOwners'}, 'risk', 'coverage', {'Type': 'FuelHeldForSale'}, 'id']