'regular expression affected by everything around it preventing a match

I have a simple regular expression for emails that I want to use, so it matches [email protected] for example, I don't care about what's around the email, except for one case when it starts with a * I don't want the email to match in that case only. The regex I have does this but prevents other matches, for example, test>[email protected] it should match [email protected] in this case, but it doesn't, I've done extensive research I can't seem to figure it out, it should ONLY NOT match if there is a * in front of the email, no other case, from what I understand my current regex should do that.

((^[^\*][a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]+\D)$)

should match what is bolded

shouldn't match



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source