Todas as ferramentas

Testador Regex

Texto de correspondência de padrão de expressões regulares para validação, pesquisa-substituição e análise de log. Teste padrões com destaque ao vivo antes de entrar no código de produção - evite surpresas catastróficas de retrocesso na entrada do usuário.
Padrão
Flags
Texto de teste
Saída
[0] Hello [6] world [12] 123

Como testar um regex

1. Digite o padrão regex (sem barras externas ou com sinalizadores).
2. Definir sinalizadores: g global, i sem distinção entre maiúsculas e minúsculas, m multilinha.
3. Colar texto de amostra na string de teste área.
4. Revise correspondências, capture grupos e substitua a visualização, se disponível.

Exemplos de Regex

Validação de e-mail

^[\\w.-]+@[\\w.-]+\\.\\w+$ captura e-mails simples - não é perfeito para RFC, mas é útil para formulários.

Extrair datas ISO

\\d{4}-\\d{2}-\\d{2} encontra 2024-03-15 nas linhas de log para substituição do grep.

Slugify helper

Substitua [^a-z0-9]+ por hífen para slug de URL da string de título.

Quando regex ajuda

Ao validar strings estruturadas (telefone, código postal).
Ao analisar logs semiestruturados.
Ao aprender grupos de captura e lookahead.

Quando evitar regex

Ao analisar HTML ou JSON - use o adequado analisadores.
Quando regex se torna ilegível - dividido em lógica de código.
Quando ReDoS arrisca em padrões fornecidos pelo usuário no servidor - tempo limite e comprimento limite.

Reconhecimento de ReDoS

Quantificadores aninhados como (a+)+ na CPU de travamento de string maligna - evite regex do usuário no servidor ou use mecanismos seguros com tempos limite.

Validar vs. extract

Padrão ancorado ^...$ valida a string inteira; não ancorado encontra substring em qualquer lugar.

Substituir nos editores

O código VS usa regex JS semelhante em localizar-substituir - teste aqui e cole o padrão.

Perguntas frequentes

Qual tipo de regex?

JavaScript RegExp - existem diferenças de PCRE (o suporte de pesquisa varia de acordo com o mecanismo versão).

Sinalizador global g?

Encontra todas as correspondências, não apenas first - testStateful com lastIndex em JS.

Escape de caracteres especiais?

. * + ? [ ] ( ) { } | \\ ^ $ precisa de escape para correspondência literal.

Grupos de captura?

Parênteses ( ) criam grupos numerados acessíveis em substituição $1 $2.

Local?

Sim.

Multiline ^ $?

m sinalizador faz com que ^ $ corresponda aos limites da linha e não à string inteira.