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

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
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:anosBob:anosCharlie: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.
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:-alice@example.com-bob@example.com-charlie123@example.com oucharlie4@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).
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-25bla bla2022-10-02bla bla bla2023-06-122024-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.
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 blaProduto 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.
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 blabla 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.
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 blahttps://site.comBlahttp://example.comblahttps://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.