Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resultado dando problema

Estou usando o site Regex101 para resolução dos exercícios, ao inserir a solução apresentada na aula, não funciona, se tiro as anchors funciona, porém, o últmo caracter antes do "@" é marcado como o primeiro grupo, ao invés de toda a cadeia de caracters, como solucionar todos esses problemas?

2 respostas
solução!

Bom dia, Gabriel! Tudo bem?

Testei a expressão regular ^([\w-]\.?)+@([\w-]+\.)+([A-Za-z]{2,4})+$ como apresentada nessa atividade no Regex101 e ele detectou normalmente.

Screenshot regex101

Mas realmente a questão do grupo 1 ficou falha (pegando somente o caracter antes do @). Lembrando que o professor até comenta na atividade que essa é uma possível solução, então temos outras maneiras de fazer também. Podemos tentar contornar essa situação colocando um mais após o [\w-] para ele detectar um ou mais caracteres:

^([\w-]+\.?)+@([\w-]+\.)+([A-Za-z]{2,4})+$

Mas ainda assim ele trava se detectar um ponto antes, então podemos incluir o ponto na primeira classe, mais ou menos assim:

^([\w.-]+\.?)+@([\w-]+\.)+([A-Za-z]{2,4})+$

Essa discussão do regex ideal para e-mail é bem complicada, pois a cada dia mais caracteres são aceitos na parte do endereço, então adaptamos para ficar o mais real possível.

Bons estudos!

Entendi! Obrigado por me apresentar suas soluções e me ajudar a descomplicar rs