Дайте это вращение:
Для этого имя пользователя должно содержать от 6 до 600 символов. Не зная, как долго может длиться домен, я не думаю, что вы сможете эффективно ограничить его, не заглядывая в будущее (или отставая). Единственный возможный обходной путь, о котором я могу подумать, - это установить произвольные ограничения для каждого: скажем, 300 для имени пользователя и 300 для домена.
^(#?[_a-zA-Z0-9+-](\.?[_a-zA-Z0-9+-]{5,599})*)@([a-zA-Z0-9]+(-(?!-)|[a-zA-Z0-9\.])*?[a-zA-Z0-9]+\.([0-9]{1,3}|[a-zA-Z]{2,3}|(aero|arpa|asia|coop|info|jobs|mobi|museum|name|travel)))$