正则判断一个字符串是否包含邮箱时,如果输入一长串1进行检测那么会卡住很久,怎么进行优化

正则如下:
.([a-zA-Z0-9]+[_|-|.]?)[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.]?)[a-zA-Z0-9]+.[a-zA-Z]{2,3}.

img

这个正则是邮箱前后有不确认数量的字符,如“邮箱11@qq.com啦”,“11@qq.com是邮箱","今天天气很好11@qq.com,发邮箱给我吧!” 等等,之前测试都没有问题,今天测试人员输入111111111111111111111111111111111111检测后发现会卡死,这个要怎么进行优化呢

想了下,先判断是否有@符号,有的话再进行下一步