import re
text = "Emails like {annie,bonnie}@gmail.com, annie2@gmail.com, then a bonnie2@gmail.com."
emails = []
rx_email = re.compile( r'(?:{([^{}]*)}|\b\w[\w.-]*)(@[\w.-]+\.\w+)' )
for m in rx_email.finditer(text):
if m.group(1):
for email in m.group(1).split(','):
emails.append(f'{email}{m.group(2)}')
else:
emails.append(m.group())
print(emails)
aW1wb3J0IHJlCnRleHQgPSAiRW1haWxzIGxpa2Uge2FubmllLGJvbm5pZX1AZ21haWwuY29tLCBhbm5pZTJAZ21haWwuY29tLCB0aGVuIGEgYm9ubmllMkBnbWFpbC5jb20uIgplbWFpbHMgPSBbXQpyeF9lbWFpbCA9IHJlLmNvbXBpbGUoIHInKD86eyhbXnt9XSopfXxcYlx3W1x3Li1dKikoQFtcdy4tXStcLlx3KyknICkKZm9yIG0gaW4gcnhfZW1haWwuZmluZGl0ZXIodGV4dCk6CglpZiBtLmdyb3VwKDEpOgoJCWZvciBlbWFpbCBpbiBtLmdyb3VwKDEpLnNwbGl0KCcsJyk6CgkJCWVtYWlscy5hcHBlbmQoZid7ZW1haWx9e20uZ3JvdXAoMil9JykKCWVsc2U6CgkJZW1haWxzLmFwcGVuZChtLmdyb3VwKCkpCnByaW50KGVtYWlscyk=