The code I posted above split on a look-ahead for the first < (Which means it assumes your "name" fields don't have that. Note everything
that Fastolfe said about Email addresses is true, they're quite difficult to validate/match for all possible cases.