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

[Dúvida] Linha do código dando erro!

"Olá equipe da Alura,

Durante a aula sobre validação de telefones com expressões regulares, encontrei algumas dificuldades ao tentar replicar o código apresentado, pois estava obtendo erros.

Ao utilizar o serviço do assistente virtual, Luri, para solucionar uma dúvida relacionada à expressão regular para buscar um endereço de e-mail, descobri que o ponto( . ), é um caractere especial que precisa ser escapado com uma barra invertida ( \ ) para ser interpretado como um caractere literal. No entanto, na explicação da aula, o ponto não foi escapado corretamente.

No exemplo apresentado na aula, o padrão da expressão regular para buscar um endereço de e-mail continha o ponto sem a devida barra invertida de escape. Isso pode levar a uma interpretação incorreta do ponto como um caractere curinga. (Explicação do Luri).

O padrão errado apresentado na aula foi: '\w{5,50}@\w{3,10}.\w{2,3}.\w{2,3}'. Nesse padrão, o ponto não foi escapado corretamente.

Para corrigir o problema, sugiro atualizar a explicação do código, seguindo a sugestão do Luri, adicionando a barra invertida antes do ponto na expressão regular. Dessa forma, o ponto será interpretado corretamente como um caractere literal.

O padrão correto seria: '\w{5,50}@\w{3,10}.\w{2,3}.\w{2,3}'.

Agradeço pela atenção e pela qualidade do conteúdo oferecido no curso. Estou à disposição para qualquer esclarecimento adicional.

Atenciosamente, Izael Castro

2 respostas
solução!

Oi Izael!

Você está absolutamente correto. Em expressões regulares, o ponto (.) é um caractere especial que representa qualquer caractere (exceto uma nova linha). Portanto, quando queremos que ele seja interpretado como um ponto literal (como em endereços de e-mail), precisamos escapá-lo usando uma barra invertida (\).

No exemplo da aula, o padrão da expressão regular para buscar um endereço de e-mail foi apresentado como '\w{5,50}@\w{3,10}.\w{2,3}.\w{2,3}'. Como você apontou, isso pode levar a uma interpretação incorreta do ponto como um caractere curinga, em vez de um ponto literal.

A correção sugerida por você está correta. O padrão deveria ser apresentado com os pontos escapados, assim: '\w{5,50}@\w{3,10}.\w{2,3}.\w{2,3}'.

Agradeço por apontar essa questão e por sua sugestão para melhorar o conteúdo da aula.

Espero ter ajudado e bons estudos!

Muito obrigado Natan.

Atenciosamente, Izael Castro