1
resposta

esse codigo e válido ?

(^\w+[.-][\w?])@(\w+.+\w+.\w+)

1 resposta

Oi, Pedro, tudo bem?

Desculpa a demora em te responder!

Obrigado por compartilhar a sua resolução,mas a parte (\w+.+\w+.\w+) não captura corretamente os pontos que separam os componentes do nome do host (por exemplo, "example.com", que não seria uma string válida considerando a sua expressão regular). Além disso, o uso de colchetes [] em vez de parênteses (), o que pode levar a uma interpretação incorreta do padrão.

Uma opção para verificar um e-mail, tendo como base a expressão regular que você apresentou, seria:

^[\w.-]+@[\w.]+\.[\w.]{2,}$

Esta expressão regular usa os seguintes elementos:

  • ^ - ncora de início de linha.
  • [\w.-]+ - Um ou mais caracteres alfanuméricos, ponto, hífen ou sublinhado, que correspondem ao nome do usuário do endereço de e-mail.
  • @ - O caractere "@" que separa o nome do usuário do nome do host.
  • [\w.]+ - Um ou mais caracteres alfanuméricos, ponto ou sublinhado, que correspondem ao nome do host do endereço de e-mail.
  • \. - O caractere "." (ponto) precisa ser escapado para corresponder literalmente a um ponto.
  • [\w.]{2,} - Dois ou mais caracteres alfanuméricos, ponto ou sublinhado correspondentes ao TLD do endereço de e-mail.

Contudo, o exercício pede verificações específicas onde e e-mail deve ter um @ e terminar com caelum.com.br ou alura.com.br. O nome do usuário (tudo antes do @) tem apenas letras minúsculas, pode ter um número no final e tem de 5 a 15 caracteres.

Dessa forma, a expressão regular abaixo atenderia melhor aos requisitos para verificar o e-mail:

([a-z.]{4,14}[a-z\d])@(?:caelum.com.br|alura.com.br)

Na expressão acima temos:

  • ([a-z.]{4,14}[a-z\d]) - Um grupo de captura que corresponde ao nome do usuário do endereço de e-mail. Ele começa com uma sequência de 4 a 14 caracteres alfabéticos minúsculos ou ponto, e termina com um caractere alfanumérico minúsculo. Essa sequência de caracteres pode incluir pontos, mas não pode começar ou terminar com eles.

  • @ - O caractere "@" que separa o nome do usuário do nome do host.

  • (?: - Início de um grupo não capturador. Isso significa que a expressão dentro deste grupo não será capturada em um grupo de captura separado.

  • caelum.com.br|alura.com.br - Uma alternância que corresponde a um dos dois domínios permitidos: "caelum.com.br" ou "alura.com.br".

  • ) - Fim do grupo não capturador.

Espero ter ajudado. Caso tenha dúvidas, estarei à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!