fork download
  1. import re
  2. text = "Emails like {annie,bonnie}@gmail.com, annie2@gmail.com, then a bonnie2@gmail.com."
  3. emails = []
  4. rx_email = re.compile( r'(?:{([^{}]*)}|\b\w[\w.-]*)(@[\w.-]+\.\w+)' )
  5. for m in rx_email.finditer(text):
  6. if m.group(1):
  7. for email in m.group(1).split(','):
  8. emails.append(f'{email}{m.group(2)}')
  9. else:
  10. emails.append(m.group())
  11. print(emails)
Success #stdin #stdout 0.02s 9504KB
stdin
Standard input is empty
stdout
['annie@gmail.com', 'bonnie@gmail.com', 'annie2@gmail.com', 'bonnie2@gmail.com']