I agree with the general point that trying too hard on validating email addresses is not the way to go (the RFC is *extremely* complex) it's best to make sure the string is handled safely, and then let the MTA decide.

However you may find http://docs.python.org/2/library/email.util.html#email.utils.parseaddr nicer to deal with than regex, it's in the stdlib.