I was tasked with making email address with a "+" sign invalid for registry. I'm new to regex and my research into it led me to believe it's best to state what you want in a valid input and not what you don't want. I used RegexBuddy's simplified RFC 2822 and removed the plus signs from it, to get that expression:
[a-z0-9!#$%&'*/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
while passing RB's test feature (i.e. invalidating "aaa+aa@gmail.com"), it fails to correctly invalidate same input when I use the same expression as the ng-pattern