Tratando de reemplazar espacios específicos con guiones y minúsculas la cadena
p.ej
"1.0 Domain - sub & domain" "1.0-Domain-sub&domain"Intentó
str.replace(/\s+/g, '-').toLowerCase(); -> 1.0-domain---sub-&-domainPuede capturar - o & entre caracteres de espacio en blanco opcionales y reemplazarlo solo con el carácter capturado, o bien hacer coincidir 1 o más caracteres de espacio en blanco para reemplazarlos con una cadena vacía usando la función de reemplazo.
let str = "1.0 Domain - sub & domain"; str = str.replace(/\s*([&-])\s*|\s+/g, (m, g1) => g1 ? g1 : '-').toLowerCase(); console.log(str)