Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Algumas dúvidas

Caros, poderiam me tirar algumas dúvidas?

1) Na resposta do exercício, consta a seguinte regex:

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

Porém, não dá matching! Ao retirar as âncoras ^ e $, dá um matching completo.

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

Será algo que estou fazendo errado ou a reposta do exercício estaria errada?

2) Não ficou clara para mim a diferença, apenas conceitualmente, entre ^, $ e \b.

Muito obrigado.

1 resposta
solução!

Emerson, blz?

Cara fiz os testes com o projeto do curso e as strings com as duas Regex essa ^([\w-]\.?)+@([\w-]+\.)+([A-Za-z]{2,4})+$ e ([\w-]\.?)+@([\w-]+\.)+([A-Za-z]{2,4})+

E com ambas elas dão match, você está testando onde?

Sobre a diferença entre o ^, $ e o \b:

Suponha que temos um arquivo com várias linhas, e temos a seguinte regex ^a.*, ela só irá dar match se a linha iniciar com "a".

Assim como .*a$ só irá dar match se a linha terminar com a letra "a".

Agora se tivermos a regex \ba irá dar match com todas as palavras que iniciarem com a letra "a" indiferente de estar no inicio ou no final de uma linha. Assim como a\b irá casar somente palavras que terminem com "a".

Espero ter ajudado.