para que a resposta correta:
\w{2,50}@\w{2,15}.[a-z]{2,3}.[a-z]{2,3}
Consiga reconhecer o string "rodrigo@gmail.com" seria necessario modificar o regex para:
\w{2,50}@\w{2,15}.[a-z]{2,3}(.[a-z]{2,3})?
correto?
para que a resposta correta:
\w{2,50}@\w{2,15}.[a-z]{2,3}.[a-z]{2,3}
Consiga reconhecer o string "rodrigo@gmail.com" seria necessario modificar o regex para:
\w{2,50}@\w{2,15}.[a-z]{2,3}(.[a-z]{2,3})?
correto?
Oi André, tudo tranquilo?
Através da regex dita como correta:
\w{2,50}@\w{2,15}.[a-z]{2,3}.[a-z]{2,3}
é possível identificar a string "rodrigo@gmail.com".
Da forma como você sugeriu funciona, entretanto, aceitaria emails não válidos devido ao ponto de interrogação, que permite o grupo final aparecer zero ou mais vezes. Então, sua regex aceitaria por exemplo:
rodrigo@gmail
Caso você retire o ponto de interrogação, fica correto, ela cumprirá o objetivo.
Deixo como sugestão este site, onde é possível testar as expressões regulares. Basta digitar a expressão e a string de teste.
Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!
isso tem a ver com "." ser um carater especial? talvez a resposta deveria ser
\w{2,50}@\w{2,15}\.[a-z]{2,3}(\.[a-z]{2,3})?
digo, a resposta correta aceitaria "rodrigo@gmailllll"
Falaaa André, tudo bem?
A resposta que você sugeriu da primeira vez:
\w{2,50}@\w{2,15}.[a-z]{2,3}(.[a-z]{2,3})?
é possível aceitar rodrigo@gmailllll
. Isto acontece porque quando você define:
(.[a-z]{2,3})?
Você diz que este grupo de regras dentro do parênteses podem aparecer zero ou mais vezes e isto ocorre por causa do ponto de interrogação. Entendeu a ideia?
Caso você faça da forma como sugeriu da segunda vez, escapando o caractere ponto a fim de pegar o seu valor real:
\w{2,50}@\w{2,15}\.[a-z]{2,3}(\.[a-z]{2,3})?
não seria aceito a string rodrigo@gmail
uma vez que agora, obrigatoriamente teremos que ter um ponto em nossa string. Então, desta segunda forma poderíamos ter como aceitas:
Qualquer dúvida é só falar. Espero ter ajudado. Bons estudos!!!
Muito obrigado Nadia, ajudou bastante.
André, peço pro gentileza que encerre o tópico, para fazer isto, basta marcar a resposta que te auxiliou como solução.
Bons estudos!!!