Texto
Regex Tester / Find & Replace
Teste de expressões regulares em texto real: correspondências destacadas e grupos de captura analisados, ou substituição das correspondências encontradas por um novo texto.
A regular expression (regex) is a compact language for describing patterns in text — for searching, validating a format, or replacing matches. This tool highlights matches in real text as you type the pattern, breaks out capture groups, and supports a find-and-replace mode.
How to use it
- Search: enter a pattern and some test text — every match is highlighted and capture groups are broken out separately.
- Replace: switch to Replace mode, provide a replacement template (referencing groups with $1, $2), and see the result instantly.
- Flags (g, i, m, s) toggle independently and immediately affect how many matches are found and how.
Common uses
- Building and debugging a regex before pasting it into code — you see the result without running the program.
- Bulk find-and-replace against a pattern (e.g. reformatting phone numbers or dates).
- Validating an input format (email, card number, slug) against real examples.
Things to keep in mind
Greedy quantifiers (*, +) grab as many characters as possible — add ? for the minimal match instead (e.g. .*? instead of .*).
Syntax varies slightly between languages — an expression that works here (a JavaScript engine) may need adjusting for PCRE, .NET, or Python.
Artigo sobre esta ferramenta: Expressões regulares: sintaxe básica e padrões comuns
Perguntas frequentes
Qual mecanismo de regex é usado?
A ferramenta usa o mecanismo de regex do JavaScript, não PCRE, então alguma sintaxe específica do PCRE (como asserções recursivas ou certos modos de correspondência possessiva) não funcionará aqui; flags comuns como g, i, m, s e u são suportadas.
Qual a diferença entre quantificadores gulosos e preguiçosos, e entre Testar e Substituir?
Um quantificador guloso como * ou + captura o máximo de texto possível, enquanto sua versão preguiçosa (*?, +?) para o mais cedo possível; quanto aos modos, Testar destaca correspondências e lista grupos de captura (incluindo nomeados), e Substituir aplica texto de substituição, com referências como $1, a cada correspondência.
Meu texto e expressão são enviados a um servidor?
Não, a avaliação da expressão regular acontece inteiramente no lado do cliente no seu navegador, nada é transmitido online.
O que é backtracking catastrófico?
Quantificadores aninhados como (a+)+ podem, em certas strings de entrada, forçar o mecanismo a percorrer uma quantidade exponencial de combinações — a página ou o script "trava" numa expressão aparentemente simples. Essa é uma vulnerabilidade real (ReDoS), por isso quantificadores aninhados complexos devem ser testados com strings longas quase correspondentes.
Por que minha expressão funciona numa linguagem de programação, mas não em outra?
A sintaxe de regex não é totalmente padronizada: PCRE (PHP e muitas outras linguagens), .NET, Python re e JavaScript têm pequenas diferenças no suporte a certas construções (como look-behind ou grupos nomeados) — uma expressão escrita para um mecanismo nem sempre funciona sem alterações em outro.