^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
^Start of string
[a-zA-Z0-9._%+-]Any character in: a-zA-Z0-9._%+-
+One or more of the previous
@Literal character: "@"
[a-zA-Z0-9.-]Any character in: a-zA-Z0-9.-
+One or more of the previous
\.Escaped character: .
[a-zA-Z]Any character in: a-zA-Z
{2,}2 or more of the previous
$End of string
✓ Matches

Legend:

AnchorQuantifierGroupCharacter ClassSpecialLiteral