Testar regex
Teste expressões regulares e veja as correspondências destacadas em cores, com o conteúdo dos grupos e o resultado da substituição na hora.
Regex e texto
Flags
0 caracteres · 0 linhas
Resultado
Exibição do resultado
Insira uma regex e um texto para destacar as correspondências em cores.
Tudo é processado neste dispositivo. O que você digita não é enviado a lugar nenhum.
Usa as expressões regulares do JavaScript (navegador). A sintaxe pode ser um pouco diferente da do Python, PHP, Java etc.
Foi útil? Adoraríamos que você compartilhasse
Algo não funcionou ou tem uma ideia para melhorar?
Como usar
1. Digite a expressão regular
Em “Expressão regular”, digite o padrão que você quer buscar. Símbolos chatos de digitar, como \d e [ ], entram na posição do cursor ao tocar nos botões logo abaixo. Você também pode escolher um padrão pronto, como e-mail ou data, em “Escolher um padrão comum”. Toque em “Significado”, no canto superior direito do campo, para ver com o que cada parte corresponde.
Em “Expressão regular”, na caixa da esquerda, digite o padrão que você quer buscar. Símbolos chatos de digitar, como \d e [ ], entram na posição do cursor ao clicar nos botões logo abaixo. Você também pode escolher um padrão pronto, como e-mail ou data, em “Escolher um padrão comum”. Clique em “Significado”, no canto superior direito do campo, para ver com o que cada parte corresponde.
2. Insira o texto
Em “Texto de teste”, cole ou digite o texto em que quer buscar (toque em “Exemplo” para usar um texto de exemplo). Na hora, as correspondências aparecem destacadas em “Resultado”, logo abaixo, com o total.
Em “Texto de teste”, abaixo na caixa da esquerda, cole ou digite o texto em que quer buscar (clique em “Testar um exemplo” para usar um texto de exemplo). Na hora, as correspondências aparecem destacadas na caixa da direita, com o total.
3. Mude as flags e veja a lista de correspondências
Desative “g Todas”, em “Flags”, para buscar só a primeira correspondência (ative de novo para buscar todas). Em “Lista de correspondências”, abaixo, aparecem a posição de cada uma e o conteúdo dos grupos ($1, <year> etc.). Toque em uma linha para selecionar esse trecho no texto acima.
Desative “g Todas”, em “Flags”, para buscar só a primeira correspondência (ative de novo para buscar todas). Em “Lista de correspondências”, à direita, aparecem a posição de cada uma e o conteúdo dos grupos ($1, <year> etc.). Clique em uma linha para selecionar esse trecho no texto à esquerda.
4. Extraia só as correspondências
No alto de “Resultado”, escolha “Extrair”: só as correspondências aparecem, uma por linha. Se houver grupos, escolha só um deles, como <year>, no seletor “Correspondência inteira”. Ative “Remover duplicados” para juntar as repetidas; “Copiar resultado extraído” copia tudo e “Salvar como texto” salva em um arquivo.
No alto da caixa da direita, escolha “Extrair”: só as correspondências aparecem, uma por linha. Se houver grupos, escolha só um deles, como <year>, no seletor “Correspondência inteira”. Ative “Remover duplicados” para juntar as repetidas; “Copiar resultado extraído” copia tudo e “Salvar como texto” salva em um arquivo.
5. Teste a substituição e copie
No alto de “Resultado”, escolha “Substituir” e digite algo como $<day>/$<month>/$<year> em “Substituir por”: o texto substituído aparece na hora. Toque em “Copiar resultado” para copiá-lo.
No alto da caixa da direita, escolha “Substituir” e digite algo como $<day>/$<month>/$<year> em “Substituir por”: o texto substituído aparece na hora. Clique em “Copiar resultado” para copiá-lo.
Ideal para
Conferir se uma regex está certa
Antes de colocar no código, veja pelas cores se ela pega só o que você quer e nada além disso. Quando estiver pronta, escolha uma linguagem como Python, PHP ou Go e copie no formato certo para colar direto no código.
Desenvolvedores web e quem está aprendendo a programar
Entender uma regex escrita por outra pessoa
Cole a regex de um código herdado ou de um artigo e clique em “Significado”: em poucas palavras, aparece com o que cada parte corresponde, como “Um dígito, 4 vezes”.
Quem lê código e quem está aprendendo a programar
Extrair dados de logs ou planilhas
Busque e-mails, datas ou números de pedido, liste tudo, um por linha, com “Extrair” e copie ou salve em um arquivo de texto.
Quem analisa dados e equipes de suporte
Juntar só a parte de um grupo, sem repetições
Extraia só o que está entre ( ), como o domínio de um e-mail ou o host de uma URL. Com “Remover duplicados” ativado, o que aparece muitas vezes fica uma vez só.
Quem analisa dados e equipes de web
Testar uma substituição antes de aplicar
Antes de substituir em massa no editor ou na planilha, confira o resultado usando $1 e afins.
Quem organiza textos e tabelas
Criar a validação de um formulário
Monte a regex que valida CEP ou telefone testando com várias entradas diferentes.
Quem cria formulários
Bom saber
- Usa as regex do JavaScript. Recursos que só existem em Python, PHP, Java ou .NET (quantificadores possessivos ++, (?i) etc.) não funcionam.
- Ao copiar no formato de outra linguagem, as diferenças de sintaxe são ajustadas sempre que possível. O que não dá para ajustar (como lookbehind em Go) gera um aviso curto; teste também nessa linguagem.
- Uma regex que demora demais é interrompida após 2 segundos, com um aviso. Se isso acontecer, reduza as repetições aninhadas.
- A lista mostra as primeiras 300 correspondências, e o destaque e a extração vão até as primeiras 5.000 (a contagem é sempre completa).
Sobre o teste de expressões regulares
Expressões regulares (regex) descrevem formatos de texto, como “quatro dígitos seguidos” ou “letras com um @ no meio”, com símbolos curtos como \d{4} ou [\w.]+@[\w.]+. São usadas em buscas, substituições e validações em muitos programas e editores, mas um pequeno erro já faz a regex pegar algo diferente do que você queria.
Esta ferramenta testa a cada tecla com as regex do JavaScript do navegador e destaca as correspondências em cores. Ela também lista o conteúdo dos grupos (partes entre ( )) e dos grupos nomeados ((?<nome>…)) em cada correspondência, para você conferir se está extraindo a parte certa. Mesmo padrões que nunca terminam, como (a+)+, rodam à parte e com limite de tempo, para a página não travar.
Perguntas frequentes
Respostas para as dúvidas mais comuns ao testar regex.
Meu texto ou minha regex são enviados para algum lugar?
Não. Tudo é processado no navegador do seu aparelho, e nada do que você digita é enviado a um servidor ou salvo. Dá para usar até com logs internos ou textos com dados pessoais.
Qual sabor (flavor) de regex é usado?
O do JavaScript (RegExp do navegador). Grupos nomeados (?<nome>…), lookbehind (?<=…) e \p{…} (flag u) também funcionam. Os detalhes da sintaxe podem mudar em Python, PHP, Java etc., então confira a documentação da linguagem que você vai usar.
Posso usar no código Python ou PHP?
Pode. No canto superior direito de “Expressão regular”, escolha entre JavaScript, Python, PHP, Java, Ruby e Go e clique no botão de copiar: a regex é copiada no formato de código dessa linguagem. As diferenças de sintaxe são ajustadas, como (?P<nome>…) no Python, \A e \z no Ruby e (?i) no Go. O que a linguagem não consegue expressar, como lookbehind no Go, gera um aviso curto abaixo do campo. A linguagem escolhida fica salva para a próxima vez.
Posso colar no formato /abc/gi?
Pode. Com o campo “Expressão regular” vazio, cole algo como /abc/gi: o padrão e as flags são separados sozinhos. E, escolhendo “JavaScript” no canto superior direito do campo e clicando no botão de copiar, a regex atual é copiada no formato /…/, pronta para colar no código JavaScript.
Dá para ver o que a regex significa?
Clique em “Significado”, no canto superior direito de “Expressão regular”: a regex é dividida em partes, e aparece com o que cada uma corresponde, como “Um dígito, 4 vezes” ou “Grupo year”. O conteúdo dos grupos aparece recuado, então dá para conferir também como os parênteses se combinam.
Dá para listar só as correspondências?
Escolha “Extrair”: as correspondências aparecem uma por linha. Se houver grupos, dá para escolher só essa parte ($1, <nome>). “Remover duplicados” junta as repetidas, e você pode copiar ou salvar em um arquivo de texto. Com a flag g desativada, só sai a primeira.
Onde vejo o conteúdo dos grupos?
Em “Lista de correspondências”, à direita, aparece o conteúdo de $1, $2… (ou <nome>, para grupos nomeados) em cada correspondência. Um grupo que não casou aparece como “(sem correspondência)”.
O que posso usar na substituição?
Escolha “Substituir” e use em “Substituir por”: $1, $2… (grupos), $<nome> (grupo nomeado), $& (a correspondência inteira) e $$ (um $ literal). Com a flag g ativada, tudo é substituído; desativada, só a primeira.
Apareceu “A busca demorou demais e foi interrompida”
Regex com repetição dentro de repetição, como (a+)+ ou (.*)*, podem ter uma explosão de cálculos com textos que não correspondem (backtracking catastrófico). Para a página não travar, a busca para após 2 segundos. Junte as repetições em uma só ou restrinja os caracteres, usando [^,]* no lugar de .*, por exemplo.
Como buscar sem diferenciar maiúsculas e minúsculas?
Ative “i Ignorar caixa”, em “Flags”. Maiúsculas e minúsculas, como A e a ou Ç e ç, passam a ser tratadas como a mesma letra (letras com e sem acento continuam diferentes).
^ e $ não correspondem a cada linha
Por padrão, ^ e $ só correspondem ao início e ao fim do texto inteiro. Para que valham em cada linha, ative “m Por linha”, em “Flags”.
Dá para buscar letras de outros alfabetos, como cirílico ou kanji?
Dá. Com a flag u ativada, \p{L} pega qualquer letra de qualquer alfabeto, e \p{Script=Cyrillic} pega só o cirílico. Para kanji, escolha “Kanji (ideogramas)” em “Escolher um padrão comum”: ele usa \p{Script=Han} e ativa o u sozinho.
É grátis?
Sim, é grátis. Sem cadastro, sem instalar nada e sem anúncios. Use quantas vezes quiser, com textos de qualquer tamanho.
Mais ferramentas
- Converter largura total e meia largura
Converta de uma vez letras, números e katakana entre largura total e meia largura.
- Conversor hiragana ⇔ katakana
Converte hiragana, katakana e katakana de meia largura de uma vez. Kanji, letras e números ficam como estão.
- Contador de caracteres para redes (X, Instagram, YouTube)
Mostra quantos caracteres faltam até o limite do X, Instagram, YouTube e outras redes, contando do jeito de cada uma. Também palavras e linhas.
- Formatar JSON
Deixe o JSON fácil de ler ou compacte-o em uma linha. Se houver um erro, mostra onde.
- Codificar e decodificar URL
Converte acentos, espaços e símbolos para o formato de URL (como %C3%A3) ou volta ao texto original.
- Gerador de senhas
Escolha o tamanho e os caracteres e crie na hora senhas difíceis de adivinhar.