1
resposta

Entendendo a

Olá, pessoal! Tudo bem?

Na aula de manipulação de dados textuais, foi utilizado o Regex(?<!\w)-(?!\w)para apagar hifens soltos (ex: quarto - sala) e manter os hifens de palavras compostas (ex: two-bedroom).

À primeira vista, essa expressão parece bem confusa, mas ela usa um conceito chamado Lookaround (olhar ao redor). O Regex não apaga apenas o hífen -, ele verifica quem são os "vizinhos" desse hífen antes de agir.

A seguir está como ler esses símbolos de forma fácil:

(? ... ) -> Essa estrutura avisa que é uma regra de "olhar ao redor".

< -> Significa Lookbehind (olhar para trás). Como é uma setinha apontando para a esquerda, ele olha o que está antes do hífen. Se não tiver o <, ele olha para a frente (Lookahead).

! -> É o símbolo universal de Negação (NÃO). Se fosse um sinal de igual =, seria uma afirmação (DEVE ter).

**\w **-> Representa qualquer letra ou número (word character).

Juntando as peças, a leitura do código da aula fica assim:

(?<!\w): Olhe para trás (<) e garanta que NÃO (!) tenha uma letra/número (\w).

-: O alvo (o hífen).

(?!\w): Olhe para a frente e garanta que NÃO (!) tenha uma letra/número (\w).

Como o código usou a negação (!) dos dois lados, ele só vai apagar o hífen se ele estiver completamente isolado de letras ou números. Se ele encostar em alguma letra (formando uma palavra composta), a regra falha e o hífen é salvo!

Espero que essa decomposição ajude a deixar a leitura de Expressões Regulares mais clara para vocês!

Bons estudos!

1 resposta

Olá, Fábio! Tudo bem?

As suas observações sobre expressões regulares ficaram incríveis! Obrigado por compartilhar.

Elas podem parecer complicadas no início, mas são ferramentas poderosas para manipulação de texto. Você explicou muito bem o conceito de Lookaround e como ele é usado para identificar hifens soltos.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!