Estoy tratando de encontrar la expresión regular perfecta que me ayude a extraer el nombre de dominio de un correo electrónico. (por ejemplo: hello@domain.com debe devolver domain.com )
Muchos problemas en SO abordan este problema, pero ninguno de ellos lo trata a la perfección.
Estos son los casos extremos especiales que quiero abordar:
hello@sub.domain.com debería devolver domain.com )hello@domain.co.uk debería devolver domain.co.uk )@ ) en su nombre de dominio (aunque la mayoría de los registradores no lo permiten). (por ejemplo: hello@dom@in.com debe devolver dom@in.com )Probé la siguiente expresión regular, pero no abordan todos los casos extremos:
/(?<=@)\S+\.\S+$/ => No maneja el caso 1/[^.@]*?\.\w{2,}$|[^.@]*?\.com?\.\w{2}$/ => No maneja el caso 3