1
resposta

^([\w-]\.?)+@ Não está com problemas?

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

Esse grupo seria:

[\w-] Apenas 1 word char ou um traço - Não estaria errado para o início ter essa restrição do \w??

\.? poderia ter zero ou 1 ponto

([\w-]\.?)+ Essa parte do Regex não quer dizer que esse grupo pode se repetir 1 ou mais vezes?

DIFENTE da segunda parte, depois do @:

([\w-]+\.)+

[\w-]+ Pode ter 1 ou mais char \. Tem que ter o ponto ([\w-]+\.)+ E esse grupo pode se repetir 1 ou mais

1 resposta

Olá Diógenes!

Peço desculpas pela demora em obter um retorno.

O grupo [\w-] realmente representa apenas um caractere alfanumérico ou um traço. Quanto à sua pergunta se essa restrição do \w estaria errada para o início, a resposta é que depende do contexto em que o regex está sendo utilizado. Se você sabe que o início do endereço de e-mail sempre será um caractere alfanumérico ou um traço, então não há problema em utilizar essa restrição. Caso contrário, é melhor remover essa restrição para garantir que o regex capture todos os endereços de e-mail válidos.

O \.? representa um ponto opcional, ou seja, pode ter zero ou um ponto.

Já a expressão ([\w-]\.?)+ significa que o grupo [\w-]\.? pode se repetir uma ou mais vezes. Esse grupo representa um caractere alfanumérico ou um traço seguido de um ponto opcional.

Na segunda parte do regex, depois do @, a expressão ([\w-]+\.)+ significa que o grupo [\w-]+ deve ter um ou mais caracteres alfanuméricos ou traços, seguido de um ponto obrigatório, e esse grupo pode se repetir uma ou mais vezes.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software