Handles email address domains with hyphens and multiple levels.
Credit: 0x90 and Hieu https://stackoverflow.com/questions/17681670/extract-email-sub-strings-from-large-document