Я конечно не уверен, но разве домен может начинаться и заканчиваться на "-" ?
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z]+[-\w]*[0-9a-zA-Z]*\b\.)+[a-zA-Z]{2,9})$
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z]+[-\w]*[0-9a-zA-Z]*\b\.)+[a-zA-Z]{2,9})$