O que é uma regex
Uma expressão regular é um padrão para encontrar texto. gato encontra as letras "gato" em qualquer lugar, inclusive dentro de "gatos". Caracteres especiais deixam o padrão descrever tipos de texto em vez de letras exatas.
As peças básicas
. | qualquer caractere, menos quebra de linha |
\d, \w, \s | um dígito; uma letra, dígito ou sublinhado; um espaço, tab ou quebra de linha |
[aeiou], [^0-9] | qualquer um desses caracteres; qualquer caractere que não seja dígito |
*, +, ? | zero ou mais, um ou mais, zero ou um do que vem antes |
{3}, {2,4} | exatamente 3; entre 2 e 4 |
^, $ | o início e o fim do texto (ou de cada linha com a flag m) |
\b | limite de palavra: \bgato\b encontra "gato" mas não "gatos" |
( ), | | um grupo que você pode reusar na substituição; isto ou aquilo |
Para encontrar um caractere especial literalmente, ponha uma barra invertida antes: \. encontra um ponto.
Exemplos
\d{3}-\d{4}encontra números escritos como 555-0123.^[ \t]+|[ \t]+$com as flags g e m encontra espaços e tabs no início e no fim de cada linha, prontos para serem trocados por nada.(\d{4})-(\d{2})-(\d{2})substituído por$3/$2/$1transforma 2024-09-27 em 27/09/2024.
Flags e correspondência gulosa
A flag g encontra todas as ocorrências e não só a primeira, i ignora maiúsculas e minúsculas e m faz ^ e $ funcionarem por linha. Os quantificadores são gulosos: <.*> vai do primeiro < ao último > da linha. Acrescente ? para que parem o quanto antes: <.*?>.
Teste padrões com destaque ao vivo no Testador de regex, que usa a sintaxe do JavaScript, e aplique-os ao seu texto em Localizar e substituir.