A simple Ruby EmailAddress class
The Regex will validate some email addresses. Because the Domain Name System allows UniCode. the Regex does not match all valid characters in the Doman Name. Therefore it will not validate all valid email addresses.
Alternatives:
Validating over all allowable Unicode with Regex in a meaningful way is non-trivial.

Sending a confirmation email requiring reply is a straight-forward method for validating email procedurally.

When possible, not collecting email addresses at all is easy to implement.