Localizar e substituir texto online
Cole o seu texto, digite o que procurar e veja cada correspondência com o número da linha antes de confirmar a substituição. Expressões regulares são aceitas, inclusive grupos de captura na substituição.
Onde estão as correspondências
O modo de texto literal não é o modo simples
Por baixo existe apenas um motor de expressões regulares. O modo literal funciona escapando cada caractere do seu padrão que o motor trataria como uma instrução — o ponto, a interrogação, os colchetes, o sinal de mais — para que procurar price (USD) procure exatamente isso, e não um grupo contendo a palavra USD. Marque Expressão regular e o escape para: o seu padrão chega ao motor exatamente como foi escrito.
Por que isso importa: se você colar algo com um ponto em uma ferramenta que esqueceu de escapar, o ponto passa a corresponder a qualquer caractere. Procurar 3.14 também acharia 3x14 e 3,14. É um bug silencioso e produz resultados silenciosamente errados.
O cifrão no campo de substituição
Esse pega quase todo mundo. Em JavaScript — e na maioria das implementações de localizar e substituir construídas sobre ele — a string de substituição não é literal. Um cifrão seguido de um dígito insere um grupo de captura, $& insere a correspondência inteira, e outras duas sequências inserem tudo o que vem antes ou depois dela. Então substituir algo por $100 insere em silêncio o grupo de captura 1 seguido de dois zeros, o que normalmente é nada seguido de 00.
No modo literal esta ferramenta dobra cada cifrão para você, então $100 sai como $100. No modo regex ela não faz isso, porque é justamente esse o sentido do modo regex — escreva $$ quando quiser um cifrão literal ali.
Somente palavras inteiras, e onde fica o limite
A opção Somente palavras inteiras envolve o seu padrão em \b, o limite de palavra das expressões regulares. Um limite fica entre um caractere de palavra e um que não é, e a definição de caractere de palavra do JavaScript é estreita: letras de A a Z, dígitos e o sublinhado. Nada mais.
Vale conhecer a consequência antes de confiar na opção. Procurar café com palavras inteiras ligado vai falhar, porque é não é um caractere de palavra, então não há limite depois dele para corresponder. O mesmo vale para qualquer palavra acentuada ou não latina, e para qualquer coisa com apóstrofo. Nesses casos, desligue a opção e acrescente o seu próprio contexto ao padrão.
Os hifens cortam para o outro lado. Como o hífen não é um caractere de palavra, procurar up como palavra inteira encontra sim o up dentro de follow-up. Esse é o comportamento padrão, não uma esquisitice desta ferramenta, mas surpreende as pessoas.
Coisas que as expressões regulares não fazem aqui
- O ponto não atravessa linhas. Por padrão
.corresponde a qualquer caractere menos uma quebra de linha. Para atravessar linhas use[\s\S], que significa "espaço em branco ou não espaço em branco" e portanto tudo. - Sem conversão de maiúsculas na substituição. O sed tem
\Ue o Vim tem\upara colocar um grupo de captura em maiúsculas. As strings de substituição do JavaScript não têm equivalente, então esta ferramenta também não. Faça a substituição primeiro e depois passe o resultado por um conversor de maiúsculas e minúsculas. - Lookbehind precisa de um navegador recente. Padrões que usam
(?<=…)funcionam no Chrome, no Firefox e no Edge, e no Safari a partir da versão 16.4. Em qualquer coisa mais antiga o padrão é reportado como inválido.
Um padrão pode congelar esta página
Buscar com expressões regulares normalmente é rápido, mas certos padrões levam tempo exponencial com certas entradas. O formato clássico é a repetição aninhada — algo como (a+)+b rodando contra uma string longa de letras a sem nenhum b. O motor tenta todas as formas possíveis de dividir essas letras antes de concluir que não há correspondência, e o número de formas dobra a cada caractere.
Isso se chama backtracking catastrófico, e não há como interrompê-lo de dentro da página. Se você escrever um padrão desses, a aba para de responder e a sua única opção é fechá-la. O texto não é enviado para lugar nenhum, então não se perde nada além do texto da caixa — que, como aqui nada é salvo, vale a pena ter copiado se deu trabalho montar.
O que você tem e o que não tem
A lista de correspondências mostra as 100 primeiras com número de linha e de coluna, para você conferir um padrão antes de confiar no que ele produz. Não há desfazer: a caixa de entrada é você quem edita e a de resultado é refeita do zero a cada tecla, então o original só some se você sobrescrevê-lo com Usar o resultado como entrada. Não há modo multiarquivo nem modo pasta — para isso, use o sed, o ripgrep ou a busca em todo o projeto do seu editor.
Perguntas frequentes
Como eu substituo uma quebra de linha?
Deixe "Ler \n e \t como escapes" marcado e digite \n no campo Localizar. Um campo de texto de uma linha só não consegue guardar uma quebra de linha de verdade, então a sequência de escape é a única forma de expressá-la. O mesmo funciona no campo de substituição para inserir quebras de linha.
Por que a minha substituição inseriu caracteres estranhos?
Quase certamente foi um cifrão. No modo regex $1, $2 e $& são instruções que trazem a correspondência ou um grupo de captura. Escreva $$ para obter um cifrão literal. O modo literal cuida disso para você automaticamente.
Posso usar grupos de captura?
Sim, no modo regex. Coloque parte do padrão entre parênteses e refira-se a ela como $1, $2 e assim por diante na substituição. Procurar (\w+), (\w+) e substituir por $2 $1 troca a ordem de duas palavras separadas por vírgula.
Por que "somente palavras inteiras" não acha a minha palavra acentuada?
Porque o limite de palavra das expressões regulares só reconhece A-Z, dígitos e o sublinhado como caracteres de palavra. Uma letra acentuada conta como separador, então não existe limite ao lado dela. Desligue a opção para qualquer coisa fora do ASCII simples.
O meu texto é enviado para algum servidor?
Não. Tudo roda como JavaScript dentro da aba do seu navegador. Nada é enviado para um servidor e nada é armazenado, o que também significa que não há desfazer nem recuperação se você fechar a página.
Última atualização 19 de setembro de 2026