The full email address syntax described in the RFC cannot be precisely matched with a mere regular expression due to the support for nested comments. The need to track arbitrarily deep nesting state makes it a non-regular language.
If you remove the comments first the remainder can be parsed with a very complex regex, but it will be about a kilobyte long.