Substitua todas as correspondências de uma só vez, literalmente ou por uma expressão regular JavaScript
A ferramenta é carregada aqui. Precisa de JavaScript, pois o trabalho acontece no seu dispositivo.
Seus arquivos e sua privacidade
A pesquisa, a substituição e o texto a que são aplicados ficam todos nesta aba do navegador.
Nada é carregado e nada é salvo automaticamente, então um arquivo de configuração ou um bloco de origem
o código colado aqui não deixa cópia depois que você recarrega a página ou seleciona Limpar dados.
O que esta ferramenta faz
Pesquise um bloco de texto e substitua todas as correspondências de uma vez, por expressões regulares opcionais,
distinção entre maiúsculas e minúsculas e correspondência de palavras inteiras. Um padrão inválido é relatado como uma mensagem e
seu texto permanece intocado.
Ele encontra todas as ocorrências de um termo de pesquisa, substitui todas elas em uma única passagem e
informa quantas substituições foram feitas. Três opções alteram a forma como o termo é lido: Regex
trata-o como uma expressão regular em vez de caracteres literais, a distinção entre maiúsculas e minúsculas é ativada por
padrão e pode ser desativado, e a palavra inteira requer um limite de palavra em cada extremidade para que um
procure por folhas de gato concatenadas sozinhas. Um padrão que não será compilado produz um erro
mensagem e nenhuma alteração, o que é importante porque um padrão digitado pela metade é uma etapa normal
em direção a um trabalho.
Como usar
Cole seu texto na caixa e digite o termo de pesquisa e a substituição nos dois
campos.
Deixe o Regex desativado para corresponder ao termo literalmente; cada caractere especial nele é escapado,
então um ponto final corresponde a um ponto final e nada mais.
Ative o Regex quando precisar de um padrão e use $1, $2 e assim por diante na substituição para
referenciar seus grupos de captura.
Selecione Substituir tudo e leia a contagem relatada posteriormente. Se não é o que você
esperado, selecione Desfazer e refine o padrão.
Exemplos de casos de uso
Trocar um domínio renomeado, nome de produto ou variável em um arquivo colado.
Reformatando uma coluna de datas com um padrão de grupo de captura, transformando 2024-01-02 em
02/01/2024.
Substituir uma palavra sem tocar nas palavras mais longas que a contêm, usando palavra inteira
correspondência.
Entrada e saída suportadas
Aceita
Texto simples no editor, mais um termo de pesquisa e uma string de substituição
JavaScript sintaxe de expressão regular, conforme compatível com o mecanismo do seu navegador
Produz
O texto reescrito na mesma caixa, com a contagem das substituições feitas
Um text.txt para download ou o texto copiado para sua área de transferência
O que esta ferramenta não fará
Substituir tudo é a única ação: sem substituir um, sem percorrer as correspondências, sem
destacando o que está prestes a mudar. Execute-o e leia a contagem ou desfaça.
Apenas dois sinalizadores são usados: sempre global e sem distinção entre maiúsculas e minúsculas quando você limpa a caixa
caixa sensível. Não há sinalizador multilinha, ponto-tudo, fixo ou unicode e JavaScript
não tem sintaxe de sinalizador embutido, portanto, um padrão começando (?m) é rejeitado como um grupo inválido.
Sem o sinalizador multilinha, ^ e $ ancoram no início e no final de todo o texto, em vez
do que cada linha, e um ponto final não corresponde a uma quebra de linha.
O guarda captura padrões que não serão compilados, e não padrões lentos. Um que
backtracks catastroficamente ainda é executado no thread principal e pode bloquear a guia.
A substituição abrange todo o texto; não há como limitá-lo a uma seleção, uma linha
intervalo ou as primeiras partidas.
Erros comuns
Colocar um cifrão no substituto e esperar que seja literal. A substituição
string nunca tem escape, mesmo no modo literal, então $& insere o texto correspondente e $$
produz um único cifrão - escreva $$ quando se referir a um.
Ativando Palavra inteira para um termo que contém acento ou pontuação. Limites de palavras
são baseados em ASCII, portanto, pesquisar por café ou (gato) com palavra inteira em não corresponde a nada e
relata zero substituições em vez de um erro.
Usando escapes de propriedades Unicode em um padrão. Sem o sinalizador unicode \p{L} não
significa 'qualquer letra' - corresponde aos caracteres literais p{L}, então a substituição chega
algum lugar que você nunca pretendeu.
Ancorando com ^ para prefixar cada linha. Corresponde apenas ao início do texto, então
exatamente uma substituição é feita e todas as outras linhas são deixadas de lado.
Notas técnicas
No modo literal, cada metacaractere de expressão regular no termo de pesquisa tem escape
antes da compilação, então ele só pode corresponder a si mesmo; no modo regex o termo é passado
como está escrito. A palavra inteira envolve o que você entrar em \b(?:…)\b, como um grupo de não captura, então
uma alternância como cat|dog é limitada como um todo, em vez de vincular o limite a
seu primeiro ramo. A compilação acontece dentro de um guarda que retorna um valor de erro
de lançamento, e a própria mensagem do motor é transmitida sem prefixo duplo.
A contagem é obtida pela correspondência antes da substituição e, em seguida, a substituição da string padrão é executada
- é por isso que a substituição homenageia $1 a $9, $& e $$ em ambos os modos: apenas o
lado da pesquisa é escapado.
Perguntas frequentes
Qual sabor de expressão regular ele usa?
Próprio de JavaScript, compilado pelo mecanismo do navegador que você está usando. Padrões escritos
para outros tipos — classes PCRE, Python ou POSIX como [:alpha:] — falharão
para compilar ou combinar algo diferente.
Os grupos de captura funcionam na substituição?
Sim, no modo regex. Encontre (\d{4})-(\d{2})-(\d{2}) e substitua por $3/$2/$1 para reescrever
2024-01-02 como 02/01/2024. Um número além dos grupos em seu padrão é deixado como literal
texto.
O que acontece se minha expressão regular for inválida?
Você recebe a mensagem do mecanismo explicando o que estava errado, como um grupo não encerrado,
e seu texto é deixado exatamente como estava. Nada é jogado, nada é limpo e você
pode continuar editando o padrão.