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

Regex Engines Online

Pq quando eu jogo a resposta

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

para as strings do exercício

donkey.kong@kart.com.br
bowser1@games.info 
super-mario@nintendo.JP
TEAM.donkey-kong@MARIO.kart1.nintendo.com

toad@kart...com
wario@kart@nintendo.com
yoshi@nintendo
daisy@nintendo.b
..@email.com

não funciona nesses sites

https://regex101.com/ https://www.regextester.com/

Notei que as âncoras ^ e $ são os responsáveis por não devolver o resultado. Qual a razão?

2 respostas
solução!

Olá Bernardo,O comportamento da âncora de início (^) e fim ($) é definir que não teremos MAIS NADA antes e nem depois, mas o alvo avaliado (lista de emails) possui uma quebra de linhas entre os emails e esse é o motivo de simplesmente não ter funcionado.Para o JavaScript, além da expressão, podemos passar flags que são basicamente configurações para o motor da Regex. A flag /g indica que essa expressão pode se repetir várias vezes, ou seja, ela terá o comportamento de encontrar todas as correspondências no alvo. Já a flag /m indica que queremos considerar quebras de linhas.Por tanto a expressão com essas flags ficaria: /^([\w-]\.?)+@([\w-]+\.)+([A-Za-z]{2,4})+$/gmE assim é possível encontrar todos os emails.Espero ter ajudado!!!

Obrigado!