Como usar
- Digite a expressão regular entre as barras (sem as barras) e marque as flags.
- Cole o texto de teste: as correspondências ficam destacadas e a tabela mostra posição e grupos.
- Para trocar trechos, abra Substituir e use $1, $2 ou $<nome> para os grupos.
Resumo rápido da sintaxe
. | Qualquer caractere (menos quebra de linha, sem a flag s) |
|---|---|
\d \w \s | Dígito · letra, número ou _ · espaço em branco (maiúsculas negam: \D \W \S) |
[abc] [^abc] [a-z] | Um dos caracteres · nenhum deles · intervalo |
* + ? {3} {2,5} | 0 ou mais · 1 ou mais · opcional · exatamente 3 · de 2 a 5 |
*? +? | Versões “preguiçosas”: pegam o mínimo possível |
^ $ \b | Início · fim (da linha, com a flag m) · limite de palavra |
( ) (?: ) (?<nome> ) | Grupo de captura · grupo sem captura · grupo nomeado |
a|b | a ou b |
(?= ) (?! ) (?<= ) | Seguido de · não seguido de · precedido de (lookarounds) |
Acentos em português
\w não reconhece letras acentuadas. Para nomes como “João”, use [A-Za-zÀ-ÿ] ou, com a flag u, \p{L} (qualquer letra).
O teste usa o motor de regex do JavaScript (o mesmo do navegador e do Node.js). A expressão roda num processo separado com limite de tempo, então padrões que travariam a página (backtracking catastrófico) são interrompidos com aviso.
Perguntas frequentes
Funciona para Python, PHP ou Java?
A sintaxe básica é a mesma, mas há diferenças (lookbehind, grupos nomeados, flags). O teste segue o JavaScript; confira os detalhes da linguagem que você usa.
Por que apareceu “tempo esgotado”?
Alguns padrões, como (a+)+$, levam tempo exponencial em certos textos. Interrompemos após 1 segundo. Reescreva o padrão evitando quantificadores aninhados.
Meu texto é enviado?
Não. A expressão é executada no seu navegador.