Imagino que isso não deveria ocorrer, por exemplo:
douglas.@gmail.com.br é aceito.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Imagino que isso não deveria ocorrer, por exemplo:
douglas.@gmail.com.br é aceito.
Douglas, você tem razão!
Repare que na lista de emails que não podem ser reconhecidos, nenhum é semelhante ao seu exemplo. Então tecnicamente, a resposta do instrutor está correta!
Validação de email é uma das expressões mais complexas que vemos por aí, especialmente porque a cada dia vemos novos caracteres sendo permitidos em servidores novos. Porém, vamos incluir o seu caso no grupo de emails recusados e refazer a regex:
//Expressão original:
^([\w-]\.?)+@([\w-]+\.)+([A-Za-z]{2,4})+$Quebrando em partes:
//Endereço:
([\w-]\.?)+
//Domínio:
([\w-]+\.)+([A-Za-z]{2,4})+Como não precisamos mexer na expressão de domínio, vamos deixá-la para lá por hora.
[\w-] e em seguida pode ter um ..., pois antes de qualquer . deve haver ao menos um caractere em [\w-].., pois ele é a parte final opcional da regex.Para começar, vamos definir a regra por extenso.. Isso sempre ajuda a separar os grupos e escrever a regex por partes. Um email deve:
\w representa o conjunto [a-zA-Z0-9_], então [\w-] soma isso ao hifen: [a-zA-Z0-9_-]. Então vamos começar com [a-zA-Z]+.[a-zA-Z]+[.-]?[a-zA-Z]+[.-]?[a-zA-Z0-9][a-zA-Z]+[.-]?[a-zA-Z0-9]([.-]?[a-zA-Z0-9])*[a-zA-Z]+([.-]?[a-zA-Z0-9])*^[a-zA-Z]+([.-]?[a-zA-Z0-9])*@([\w-]+\.)+([A-Za-z]{2,4})+$Vamos validar? Entre na minha regex salva no regex101 e dê uma olhada!
Se precisar de qualquer explicação mais completa, pode dar uma chamada!
Um abraço e bons estudos