\w+any word character, repeated at least once
@the literal @ (6410 / 1008 / 4016)
Negative Lookahead(?!gmail|hotmail|yahoo) gmailthe literal text gmail (case sensitive) hotmailthe literal text hotmail (case sensitive) yahoothe literal text yahoo (case sensitive) \w+any word character, repeated at least once
Non-Capturing Group(?:-\w+)? ?repeats the group contents below at most once:
-the literal - (4510 / 558 / 2D16)
\w+any word character, repeated at least once
\.the literal . (4610 / 568 / 2E16)
Character Class[A-Za-z]{2,4} {2,4}matches between 2 and 4 characters from the set below:
A-Zone character from A (6510) to Z (9010) (case sensitive)
a-zone character from a (9710) to z (12210) (case sensitive)
g modifier: global. Finds all matches instead of stopping after the first