este problema se puede solucionar de variadas formas, pero en este caso te dejamos la resolución más completa en nuestra opinión.
No puede hacer esto con una expresión regular porque no sabe cuántos bloques hay en el sufijo.
Por ejemplo google.com tiene un sufijo de com. para llegar de subdominio.google.com para google.com tendrías que tomar los dos últimos bloques, uno para el sufijo y otro para Google.
Si aplica esta lógica a subdominio.google.co.uk aunque terminarías con co.uk.
De hecho, deberá buscar el sufijo en una lista como http://publicsuffix.org/
No use expresiones regulares, use el método .split() y trabaje desde allí.
var s = domain.split('.');
Si su caso de uso es bastante limitado, puede verificar los TLD según sea necesario y luego devolver los últimos 2 o 3 segmentos según corresponda:
return s.slice(-2).join('.');
Hará que sus ojos sangren menos que cualquier solución de expresiones regulares.
Recuerda que tienes la capacidad de añadir una valoración correcta si diste con la respuesta.