@dcon You could search for every @ in the string and expand outward from them along valid characters.
user(this @ is valid)@example.com
@AlexMedia , that regex would pick up the email@example.com too, wouldn't it?
edit: tho in that case, I could run it thru a sanitizer that simply removes the "string"s. Anyone see a problem with that?
How about this way: split the string on spaces, then discard every element that either contains no @, or does contain " (even if it also has @ in it) — plus, of course, every element that has characters which aren’t valid in an email address anyway.
In case you expect people to do things like "Wil.i.@m” <firstname.lastname@example.org> you could also do a check if there’s, say, at least one dot after the @, and if not, discard the element as well.
"Donald 'email@example.com' Trump" <firstname.lastname@example.org>