Testador de Regex
Flags
Digite uma expressão regular, cole o texto para testá-la e o testador executa o padrão e lista cada correspondência encontrada. Cada resultado mostra onde a correspondência começa e o conteúdo de cada grupo de captura, para você ver exatamente o que o padrão capturou. Ative os flags de maiúsculas/minúsculas, multilinha e dotall para mudar o comportamento do padrão.
Como testar uma regex
-
1
Insira seu padrão
Digite a expressão sem delimitadores; o testador a envolve em `/ /` para você. Um padrão inválido mostra uma mensagem de erro clara em vez de falhar em silêncio.
-
2
Escolha os flags
Ative `i` (ignora maiúsculas/minúsculas), `m` (multilinha) ou `s` (dotall) para reconhecer como você precisa.
-
3
Cole o texto de teste
Adicione o texto a pesquisar. O testador percorre tudo e encontra cada correspondência, não só a primeira.
-
4
Inspecione as correspondências
Cada correspondência mostra sua posição (offset) no texto, a correspondência completa e cada grupo de captura numerado.
O que o testador mostra
Rodar um padrão de cabeça, ou com um grep rápido, diz se algo corresponde. O testador também mostra:
- Cada correspondência, com sua posição. Ele sempre pesquisa todo o texto e informa cada correspondência com o offset do caractere onde ela começa.
- Qual grupo capturou o quê. Cada correspondência é decomposta na correspondência completa e nos grupos de captura numerados, para você confirmar que um
(...)pegou a parte esperada. - O que os flags mudam. Ative
i,mouse teste de novo para ver como a correspondência sem distinção de maiúsculas, multilinha ou dotall muda o resultado.
Os flags, em poucas palavras
| Flag | Nome | O que muda |
|---|---|---|
i |
Ignora maiúsculas/minúsculas | A também corresponde a a, e vice-versa |
m |
Multilinha | ^ e $ correspondem ao início e ao fim de cada linha, não só do texto inteiro |
s |
Dotall | . também corresponde a quebras de linha |
A correspondência é sempre global: o testador retorna cada correspondência do texto, então não há um flag “global” separado para ativar. Os padrões rodam no motor PCRE com suporte a Unicode, então classes como \w e \d se comportam de forma consistente em texto internacional.
Problemas comuns de regex que isso ajuda a detectar
| Sintoma | Causa habitual |
|---|---|
| Uma única correspondência gigante que cobre tudo | .* é guloso; use .*? ou uma classe negada como [^"]* |
^ ou $ correspondem só uma vez |
Falta o flag m num texto de várias linhas |
. para nas quebras de linha |
Falta o flag s |
| Grupos de captura em ordem inesperada | ( aninhados deslocam os números dos grupos; conte-os da esquerda para a direita |
| Um padrão que roda devagar | * ou + aninhados sobre alternativas sobrepostas causam muito backtracking |
Dicas para padrões mais rápidos e seguros
- Ancore com
^quando a correspondência começa no início, para o motor não percorrer a string inteira. - Prefira uma classe de caracteres (
[abc]) à alternância (a|b|c); as classes são mais rápidas em todos os motores importantes. - Substitua um
.*guloso por uma classe negada como[^"]*quando você conhece o terminador, para não haver backtracking.
Perguntas frequentes
Ele executa seu padrão com PCRE, o motor integrado ao PHP, com o modo Unicode ativado. A sintaxe específica do PCRE, como \d, \b e os lookarounds, funciona como esperado. Se você for usar o padrão em JavaScript, Python ou outra linguagem, confira as pequenas diferenças de sintaxe antes de publicar.
Todas. O testador sempre pesquisa todo o texto, então não há um flag “global” separado para ativar. Cada correspondência é listada com sua posição no texto.
Sim. Cada correspondência é decomposta na correspondência completa e em cada grupo de captura numerado, para você confirmar qual parte do texto cada (...) capturou.
i torna a correspondência independente de maiúsculas e minúsculas, m faz ^ e $ corresponderem em cada limite de linha, e s deixa . corresponder a quebras de linha. Ative-os ou desative-os e teste de novo para comparar os resultados.
O testador mostra uma mensagem de erro clara descrevendo o problema, como um colchete não fechado ou um grupo não terminado, em vez de retornar zero correspondências sem avisar.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Visualizador de Markdown
Escreva Markdown e veja a renderização HTML atualizar ao vivo. Sintaxe com estilo GitHub, incluindo tabelas, listas de tarefas, blocos de código cercados e autolinks.
Ferramenta disponível em outros idiomas
- Regex-testare [SV]
- 正規表現テスター [JA]
- Probador de Regex [ES]
- 정규식 테스터 [KO]
- أداة اختبار Regex [AR]
- Regex-Tester [DE]
- Testeur de Regex [FR]
- Penguji Regex [ID]
- ตัวทดสอบ Regex [TH]
- Regex-tester [NL]
- Trình kiểm tra Regex [VI]
- Tester Regex [PL]
- Тестер Regex [RU]
- Regex Test Aracı [TR]
- 正则测试器 [ZH]
- Regex Tester [EN]
- Tester di Regex [IT]