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

O que acontece?

Se eu utilizar o âncora $ sem ser no final da regex? a regex não "compila"? O que acontece?

Além disso, se eu utilizar o \b em algo como \bde\b é fácil notar que os limites são referentes ao "de"

Mas.. em uma regex cheia de coisa.. como de\bde .. o \b é referente aos dois? Isso significa que o \b substitui um \s? Afinal, Entre palavras (word boundary) existem espaços correto?

Obrigado.

4 respostas

Oi Daniel,

Sem ou com $ a regex compila, independentemente.

O $ signifca que que o match deve ser na última posição do seu alvo (como ^ deve ser na primeira posição). Ou seja, os ancoras ajudam seleciona uma posição dentro do seu alvo.

A sua segunda pergunta não entendi .

abs

Mas e se eu inserir esse âncora em outro local da regex? O circunflexo vimos no curso que vira negação.. mas e o $? Exemplo: de$de

A minha segunda pergunta é sobre o que de fato acontece ao utilizar o \b.. Exemplo:

Alvo: onde descobriram
Regex1: de\bde 
Regex2: de\sde

.. Qual a diferença? O que de fato a regex verifica ao utilizar um \b?

solução!

Oi Daniel,

vc só usa ^ no inicio e $ no final da sua regex.

No segundo exemplo, vc está comparando um anchor \b com char-class \s: Um anchor, como \b ou ^ ou $, define apenas a posição no alvo e sozinho não retorna nada.

No seu exemplo faz sentido usar de\b ou \bde para selecionar o fim de "onde" ou o início da palavra "descobriram". Repare que o \b não selecione o espaço e coloca a posição no inicio ou fim da palavra, que é o objetivo do \b.

abs

Ah entendi! Valeu!

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