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

Onde começam e onde onde terminam as âncoras ^ e $?

Eu entendi o uso das âncoras, mas fiquei com dúvida de onde o ^ acaba e onde o $ começa. Por exemplo: ^\d{3}.\d{3}.\d{3}-\d{2}$ (exercício da aula) Não entendi onde a âncora ^ termina! Ela termina no \d{3} ou vai mais além e termina no \d{3}. ? E a âncora de fim, onde ela começa? No hífem? Ou ela pega somente o \d{2} ?

2 respostas

Boa noite, Daniel! Como vai?

A forma de interpretar essa expressão regular se atendo apenas à essas questões de início e fim é:

A sequência deve começar com 3 algarísmos seguidos de um ponto e terminar com um hífen seguido de dois algarísmos.

Os marcadores de início e de fim servem pra indicar que antes ou depois deles, respectivamente, não deve haver nada!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

solução!

Obrigado pela resposta, Gabriel, mas ela ainda me deixou com dúvida.

Fiz alguns testes e agora entendi. Talvez nem todo mundo tenha tido o mesmo raciocínio que eu, mas basicamente a resposta para minha pergunta é:

A âncora pega tudo que estiver dentro da expressão!

Nesse exemplo da expressão para pegar um CPF, definimos todos os caracteres exatamente como queremos (ao invés de usar um .* no meio para "facilitar") e ancoramos o começo e o fim, então somente pegaremos CPFs sozinhos numa string. Mas a conclusão prática do meu raciocínio é: não faz sentido usar uma âncora seguida de .* (^.*) por exemplo, por que ela vai pegar a string toda desde o começo (a não ser que queiramos justamente a string toda até certo ponto).