Localizar e substituir texto no Notepad ++ usando Regex – Expressão Regular

Nestes post vamos tentar passar algumas dicas de como usar Expressão Regular usando Notepad ++. No dia a dia é muito comum para desenvolvedores fazerem modificações em massa, e acaba sempre usando a ferramenta de forma manual. Nosso objetivo é torna mais fácil e rápido as alterações.

Alguns detalhes que você deve cuidar para utilizar a ferramenta Notepad ++

Em todos os exemplos, use Localizar e substituir (Ctrl + H) para substituir todas as correspondências pela string desejada ou (sem string).

Certifique-se de que o botão de opção ‘Expressão regular’ esteja definido.

1. Removendo espaços em branco

Como remover no Notepad++ espaços em branco nos textos e códigos. Neste exemplo, substituímos os espaços em branco e as guias entre os pares de strings ‘> <‘

Veja o texto de Expressão Regular: https://rubular.com/r/GKTqfI34My78LT

Expressão de correspondência Regex: (Desative a quebra de linha para que você possa vê-la mesclada em uma linha)

>[ \t]<

No campo Substituir use:

><

2. Insira uma nova linha para cada linha de texto

Veja o teste na expressão regular: https://rubular.com/r/VSwfp0CvIV4RJO

Campo Localizar:

(.)$

Campo Substituir:

$1\n

3. Removendo linhas em branco

Veja o teste na expressão regular: https://rubular.com/r/q09H3O3TBSKbWo

Campo Localizar:

^[ \t]*$\r?\n*

Campo Substituir:

4. Quebrar a lista separada por vírgula em linha

Substitua a vírgula de uma lista por uma quebra de linha.

Veja o teste de expressão regular: https://rubular.com/r/O0rTGd84xjQqhB

Campo Localizar:

,[ \t]+

Campo Substituir:

\n

5. Remova palavras duplicadas

Campo Localizar:

\b(\w+)\s+\1\b

Campo Substituir:

\1

6. Deixar apenas a primeira palavra de cada linha

Campo Localizar:

^([^ \t]+).*

Campo Substituir:

\1

7. Deixar apenas a última palavra de cada linha

Neste exemplo deixamos apenas a última palavra e colocamos entre aspas. bastas tirar as aspas no código do campo Substituir se não for necessário.

Campo Localizar:

(.* )(\w+)$

Campo Substituir:

'$2'

8. Substitua todas as linhas duplicadas por uma única linha

Campo Localizar:

(?sm)(^[^\r\n]*)[\r\n](?=.*^\1)

Campo Substituir:

9. Insira todo o texto em uma única linha (minificar o HTML no Notepad sem plugin)

Para quem gostaria de minificar o HTML usando o Notepad++ esta é uma grande dica de uso:

Depois de executado você pode usar o item 3 para limpar os espaços em excesso.

Campo Localizar:

\R

Campo Substituir:

10. Substitua a primeira linha no texto

https://rubular.com/r/CCDSaAMzkSLqdj

Campo Localizar:

\A.*

Campo Substituir:

11. Remova caracteres indesejados

Podemos querer remover todos os caracteres especiais e deixar letras e números. Para caracteres alfanuméricos, pontos finais, dois pontos/ponto, vírgula, espaços, tabulações, novas linhas, é melhor você testar antes de executar, utilize esta ferramenta:

https://rubular.com/r/WbMCcWymgmRv5S

No exemplo do link, tentei retirar apenas os caracteres < e >. Utilizei o escape ( contra barra \ ) para não pegar os caracteres que eu não queria retirar do código.

[^0-9a-zA-Z\;\:\.\=\"\-\'\$\#\%\\/\!\,\s\t\n]+

No final da expressão regular o \s – corresponde a qualquer caractere de espaço em branco; \t – indica o Tab; \n – indica quebra de linha. Você pode substituir os 3 por [:space:] (Corresponde a todos os caracteres de espaço em branco, incluindo espaços, tabulações e quebras de linha).

Para palavras com acentuação você pode usar à-úÀ-Ú

[^0-9a-zA-Zà-úÀ-Ú\;\:\.\=\"\-\'\$\#\%\\/\!\,\s\t\n]+

Na imagens abaixo é um exemplo de como retirar todos os caracteres especiais e deixar apenas letras e números.

Campo Localizar:

[^0-9a-zA-Z \t\n]+

Campo Substituir: (Digite a tecla espaço para não deixar as palavras juntas)

 

12. Converter palavras para minúscula, exceto para siglas e abreviações

Podemos querer garantir que o texto seja convertido em letras minúsculas, exceto para acrônimos e abreviaturas que são mantidos em letras maiúsculas.

Campo Localizar:

\b(?![AZ]+\b)[a-zA-Z]+

Campo Substituir:

\L$0

Entenda alguns caracteres usados na Expressão Regular:

\n
quebra de linha
\t
Tab
\d
Um dígito no intervalo de 0-9 (um número)
\D
Não é um dígito. Qualquer coisa que não seja um número (incluindo espaços).
\l
Uma letra minúscula.
OBSERVAÇÃO: isso retornará a “um caractere de palavra” se a opção de pesquisa “Match case” estiver desativada.
\L
Não é uma letra minúscula.
\u
Uma letra maiúscula.
\U
Não é uma letra maiúscula.
\w
Um caractere de palavra, que é uma letra, dígito ou sublinhado. Isso parece não depender do que o componente Scintilla considera como caracteres de palavras. O mesmo que [[:palavra:]].
\W
Não é um caractere de palavra.
\s
Um caractere de espaçamento: contagem de espaço, EOLs e tabulações.
\S
Não é um espaço.
\h
Espaçamento horizontal. Isso corresponde apenas ao espaço, tabulação e alimentação de linha.
\H
Não é espaço em branco horizontal.
\v
Espaço em branco vertical.
\V
Não é espaço em branco vertical
$
Aplica-se apenas ao caractere no final de uma linha. (ex. ‘!$’ substituiria todos os pontos de explicação no final de uma linha.)
^
Online aplica-se ao caractere no início de uma linha (ex. ‘^<p>’ substituiria qualquer ‘<p>’ no início de uma linha.)

Gostou do Assunto? Compartilhe com seus amigos!

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.