1) You need to validate an email field for login or a website - checking for an @ mark with some text before and at least one . after the @ will do for this.
2) You need to do some sort of address validation, library regexps like this will do for 99.9...% of these.
3) You are building an email handling system which needs to actually support the RFCs, in which case regexp will not handle what you need, and you need to use a proper parser, like https://github.com/mikel/mail/tree/master/lib/mail/parsers
Ref: I am the original author of the Ruby mail gem.