Edição avançada de textos com Expressões Regulares (Regex)

17/11/2024

Expressões regulares (regex) para dividir textos de maneira eficiente. Aprofunde-se nos conceitos de regex. Id: 19

Capa do artigo Edição avançada de textos com Expressões Regulares (Regex)

Explicação - Português

Neste tutorial, vamos entender como podemos dividir textos com base em padrões específicos utilizando expressões regulares em JavaScript. Com isso, podemos realizar uma série de operações de manipulação de strings, como:

  • Divisão pelo padrão: Divide o texto sempre que o padrão aparecer, em qualquer lugar da linha.
  • Divisão antes do padrão: Divide o texto imediatamente antes do padrão.
  • Criação de blocos antes e depois do padrão: Cria blocos de texto antes e depois do padrão sem removê-lo.
  • Remoção do padrão: Divide o texto utilizando o padrão e o remove dos blocos criados.

Exemplos de Expressões Regulares

Exemplo 1

Texto: Alice: 21 anos Bob: 35 anos Charlie: 42 anos, Daiane: 25 anos

Regex: \d{2}

Tipo de Quebra: Divide pelo padrão se ele aparecer em qualquer lugar na linha

Resultado:

Alice:
anos
Bob:
anos
Charlie:
anos, Daiane:
anos

Explicação: A expressão regular \"\d{2}\" é usada para encontrar números de dois dígitos em qualquer lugar do texto. O padrão \"\d\" corresponde a qualquer dígito de 0 a 9, e o \"{2}\" indica que procuramos exatamente dois dígitos consecutivos. Portanto, ela encontra todas as idades no formato de dois dígitos nas linhas de texto.

Exemplo 2

Texto: Emails: - alice@example.com - bob@example.com - charlie123@example.com ou charlie4@exemplo.br

Regex: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

Tipo de Quebra: Divide imediatamente antes do padrão

Resultado:

Emails:
-
a
l
i
c
e@example.com
-
b
o
b@example.com
-
c
h
a
r
l
i
e
1
2
3@example.com ou
c
h
a
r
l
i
e
4@exemplo.br

Explicação: A expressão regular \"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\" é usada para encontrar endereços de e-mail. Ela é composta por várias partes: - \"[a-zA-Z0-9._%+-]+\" corresponde à parte local (antes do @), que pode conter letras, números e alguns caracteres especiais. - \"@\" é o símbolo que separa o nome do domínio. - \"[a-zA-Z0-9.-]+\" corresponde ao nome do domínio. - \"\.[a-zA-Z]{2,}\" encontra a parte do domínio de topo (como .com, .org).

Exemplo 3

Texto: Data de eventos: 2022-03-25 bla bla 2022-10-02 bla bla bla 2023-06-12 2024-08-05

Regex: \d{4}-\d{2}-\d{2}

Tipo de Quebra: Cria blocos antes e depois do padrão (sem remover o padrão)

Resultado:

Data de eventos:
2022-03-25
bla bla
2022-10-02
bla bla bla
2023-06-12
2024-08-05

Explicação: A expressão regular \"\d{4}-\d{2}-\d{2}\" é projetada para encontrar datas no formato YYYY-MM-DD. Ela é composta por: - \"\d{4}\" encontra um ano de 4 dígitos. - \"-\d{2}-\d{2}\" encontra o mês e o dia, ambos com dois dígitos. A expressão encontra todas as datas no formato esperado dentro do texto, sem removê-las.

Exemplo 4

Texto: Lista de preços: Bla bla Produto A: $50.00 bla bla bla bla Produto B: $35.99 Produto C: $12.75 bla bla Produto D:$54,00

Regex: \$\d+\.\d{2}

Tipo de Quebra: Usa o padrão como divisor e o remove dos blocos

Resultado:

Lista de preços:
Bla bla Produto A: bla bla bla bla
Produto B:
Produto C: bla bla Produto D:$54,00

Explicação: A expressão regular \"\$\d+\.\d{2}\" encontra preços em dólares no formato $XX.XX. Ela usa: - \"\$\\" para corresponder ao símbolo de cifrão ($). - \"\d+\" encontra um ou mais dígitos antes do ponto. - \"\.\d{2}\" encontra um ponto seguido de exatamente dois dígitos.

Exemplo 5

Texto: Códigos: AB-123-CD EF-456-GH bla bla EF-456-AH bla 1F-456-GH IJ-789-KL

Regex: [A-Z]{2}-\d{3}-[A-Z]{2}

Tipo de Quebra: Divide pelo padrão se ele aparecer em qualquer lugar na linha

Resultado:

Códigos:
bla bla
bla 1F-456-GH

Explicação: A expressão regular \"[A-Z]{2}-\d{3}-[A-Z]{2}\" encontra códigos no formato AB-123-CD. Ela funciona da seguinte forma: - \"[A-Z]{2}\" encontra duas letras maiúsculas. - \"-\d{3}-\" encontra um hífen, seguido por três dígitos e outro hífen. - \"[A-Z]{2}\" encontra duas letras maiúsculas após o hífen final.

Exemplo 6

Texto: URLs: Bla bla https://site.com Bla http://example.com bla https://www.openai.com

Regex: https?://[\w.-]+

Tipo de Quebra: Cria blocos antes e depois do padrão (sem remover o padrão)

Resultado:

URLs:
Bla bla
https://site.com
Bla
http://example.com
bla
https://www.openai.com

Explicação: A expressão regular \"https?://[\w.-]+\" encontra URLs que começam com http ou https. - \"https?\": o \"s?\" permite que o http seja seguido ou não pela letra "s". - \"://[\w.-]+\": corresponde ao domínio, que pode conter letras, números, sublinhados, pontos e hífens.

Para comentários:

Se quiser comentar, sugerir (acréscimos, retificações etc), criticar, elogiar, informar, sobre algum trecho deste artigo, peço a gentileza de utilizar a área de comentários do abaixo informada, no Youtube.

Já existe uma mensagem por lá dedicada a comentários sobre temas publicados neste portal.

Essa também é uma forma de contribuir com o trabalho e estimular sua continuidade e aprimoramento.

Peço a gentileza de comentar, curtir e compartilhar o conteúdo, além de se inscrever no canal do Youtube e ativar o sino de notificações para receber notícias de novos conteúdos.

Agradeço desde já!

Destinado para esses comentários em geral:

https://www.youtube.com/@roberto_csantos/community