import re
p = re.compile(r'"([^"]+)"(?:\s+<([^<>]+)>)?')
test_str = '"Mr ABC" <mr@abc.com>, "Foo, Bar" <foo@bar.com>, "mr@xyz.com"'
lst = re.findall(p, test_str)
print([(tpl[1], tpl[0]) if not tpl[1] else tpl for tpl in lst])
aW1wb3J0IHJlCnAgPSByZS5jb21waWxlKHInIihbXiJdKykiKD86XHMrPChbXjw+XSspPik/JykKdGVzdF9zdHIgPSAnIk1yIEFCQyIgPG1yQGFiYy5jb20+LCAiRm9vLCBCYXIiIDxmb29AYmFyLmNvbT4sICJtckB4eXouY29tIicKbHN0ID0gcmUuZmluZGFsbChwLCB0ZXN0X3N0cikKcHJpbnQoWyh0cGxbMV0sIHRwbFswXSkgaWYgbm90IHRwbFsxXSBlbHNlIHRwbCBmb3IgdHBsIGluIGxzdF0p