Регулярное выражение электронной почты для односимвольных доменных имен

#regex

#регулярное выражение

Вопрос:

У меня есть следующее регулярное выражение, которое работает только с двухбуквенными доменами или более. Мне это нужно для работы и с однобуквенными доменами. Пожалуйста, предложите изменения в приведенном ниже регулярном выражении.

 ^(?("")("". ?""@)|(([0-9a-zA-Z]((.(?!.))|[-!#$%amp;'* /=?^`{}|~w])*)(?<=[0-9a-zA-Z])@))(?([)([(d{1,3}.){3}d{1,3}])|(([0-9a-zA-Z][-w]*[0-9a-zA-Z].) [a-zA-Z]{2,6}))$
  

Комментарии:

1. Вам действительно следует использовать пакет / модуль для обработки электронных писем, они выполняют гораздо большую работу и менее подвержены ошибкам. Я не могу это прочитать…

Ответ №1:

 b[A-Z0-9._% -] @[A-Z0-9.-] .[A-Z]{2,4}b 
  

Ответ №2:

Это регулярное выражение будет охватывать однобуквенные домены.

 w ([- .']w )*@w ([-.]w )*.w ([-.]w )*