# Testador de regex

Teste expressões regulares JavaScript com destaque em tempo real, grupos de captura e uma explicação em linguagem simples.

https://codeknife.dev/pt/testador-regex/

## O que faz

Teste uma expressão regular no seu texto e veja todas as correspondências destacadas, com seus grupos de captura listados. O padrão roda em um worker separado, com limite de tempo, então um padrão com backtracking excessivo não consegue travar a página. Nada do que você digita sai do seu navegador.

## Como usar

1. Digite seu padrão, sem as barras ao redor.
2. Escolha as flags: `g` (todas as correspondências), `i` (ignorar maiúsculas e minúsculas), `m` (multilinha), `s` (o ponto corresponde a quebras de linha), `u` (Unicode) e `y` (sticky).
3. Cole o texto a pesquisar. As correspondências são destacadas enquanto você digita e os grupos aparecem na lista.
4. Selecione uma correspondência para ver a posição dela e o valor de cada grupo.
5. Abra a aba Referência rápida ao lado da explicação para consultar um elemento e inseri-lo na posição do cursor.

## Exemplos

Encontre as palavras de uma frase com `\b\w+\b`:

```
Hello, world!  →  Hello, world
```

Capture uma data com grupos nomeados usando `(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})`:

```
2026-10-09  →  year 2026, month 10, day 09
```

## Bom saber

- JavaScript, PCRE2, Rust e Go rodam no próprio motor; os três últimos são módulos WebAssembly carregados quando você os escolhe.
- Python, Java, .NET, POSIX ERE e POSIX BRE são emulados: o padrão é verificado quanto à sintaxe que a variante não tem, reescrito e executado no PCRE2. Casos extremos raros podem diferir do original, e na alternância POSIX vence a correspondência mais longa, enquanto a emulação usa a primeira alternativa que casa.
- Lookbehind (`(?<=…)`) e grupos nomeados funcionam em navegadores modernos.
- Se um padrão estourar o tempo, simplifique quantificadores aninhados como `(a+)+`.

## O que é uma expressão regular?

Uma expressão regular (regex) é um padrão compacto para encontrar texto: ela descreve o que procurar em vez das palavras exatas. Desenvolvedores as usam para buscar, validar e extrair dados. Este testador executa padrões de JavaScript, PCRE2, Rust e Go em seus próprios motores e emula Python, Java, .NET e POSIX sobre o PCRE2, então confira a variante antes de copiar um padrão para outro lugar.

## Perguntas frequentes

### O que as flags fazem?

g encontra todas as correspondências em vez da primeira, i ignora maiúsculas e minúsculas, m faz ^ e $ corresponderem em cada linha, s deixa o ponto corresponder a quebras de linha e u ativa o suporte completo a Unicode.

### Por que meu padrão para com um tempo limite?

Alguns padrões podem levar um tempo exponencial em certos textos (backtracking catastrófico). O testador os interrompe após dois segundos para que sua página nunca trave.

### Meu texto é enviado para algum lugar?

Não. O padrão e o texto são processados no seu navegador e nada é enviado.