fork download
  1. import re
  2. text = "Value names: 0 = Something, 1 = Something, else, 4 = A value, 5 = BAD - enough, 6 GOOD, 7 = Ugly,"
  3. pattern = r"(?P<keys>\d+)\s*(?:=\s*)?(?P<values>.*?)(?=\s*(?:,\s*)?(?:\d|\Z))"
  4. for match in re.finditer(pattern, text):
  5. print(match.groupdict())
Success #stdin #stdout 0.02s 9584KB
stdin
Standard input is empty
stdout
{'keys': '0', 'values': 'Something'}
{'keys': '1', 'values': 'Something, else'}
{'keys': '4', 'values': 'A value'}
{'keys': '5', 'values': 'BAD - enough'}
{'keys': '6', 'values': 'GOOD'}
{'keys': '7', 'values': 'Ugly'}