import re
regex = r"^(.*?)(, | - |: )(.*?)(?!\2)(, | - |: )(.*?)(?!\2|\4)(, | - |: )(.*)"
test_str = ("abc: def: ijk, lmno: pqr - stu, wx")
matches = re.search(regex, test_str, re.MULTILINE)
if matches:
print(matches.group(1))
print(matches.group(3))
print(matches.group(5))
print(matches.group(7))
aW1wb3J0IHJlCgpyZWdleCA9IHIiXiguKj8pKCwgfCAtIHw6ICkoLio/KSg/IVwyKSgsIHwgLSB8OiApKC4qPykoPyFcMnxcNCkoLCB8IC0gfDogKSguKikiCgp0ZXN0X3N0ciA9ICgiYWJjOiBkZWY6IGlqaywgbG1ubzogcHFyIC0gc3R1LCB3eCIpCgptYXRjaGVzID0gcmUuc2VhcmNoKHJlZ2V4LCB0ZXN0X3N0ciwgcmUuTVVMVElMSU5FKQoKaWYgbWF0Y2hlczoKICAgIHByaW50KG1hdGNoZXMuZ3JvdXAoMSkpCiAgICBwcmludChtYXRjaGVzLmdyb3VwKDMpKQogICAgcHJpbnQobWF0Y2hlcy5ncm91cCg1KSkKICAgIHByaW50KG1hdGNoZXMuZ3JvdXAoNykp