ForHosting KIT · Ferramentas para dev

Testador de regex

Confira um padrão do jeito que o seu navegador vai executá-lo: hello em hello world dá uma correspondência na posição 0, com os grupos numerados e nomeados. Mude para substituição e veja o resultado antes de mexer em dados reais. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Padrão
hello
Texto
hello world
Flags
Você obtém
Quantidade
1

Precisa de um testador de regex ECMAScript fiável para padrões, capturas e substituições? Esta ferramenta usa o mesmo motor do seu navegador: flags g, i, m, s, u e y, resultados de match com grupos numerados e nomeados, e modelos de replace com $$, $&, $n e $<name>.

Buscar: cada correspondência com posição e grupos

No modo de busca, cada correspondência aparece com o texto encontrado, a posição em que começa, contada como nas strings de JavaScript, os grupos numerados na ordem em que se abrem e os grupos nomeados, quando o padrão os declara. Sem a flag g você recebe no máximo uma correspondência; com g o motor avança pelas correspondências sem sobreposição. Correspondências vazias são puladas com segurança, então um padrão nunca fica girando sem parar. Com a flag u, o ponto e as classes de caracteres tratam um emoji como um único caractere, e não como duas unidades.

Substituir: o modelo de troca

No modo de substituição vale a tabela de troca padrão de JavaScript: $$ vira um cifrão literal, $& insere a correspondência inteira, um cifrão seguido do número de um grupo insere esse grupo, até o 99, e $<name> insere um grupo nomeado. Se nada corresponder, o resultado é o texto original, sem alterações, e a contagem fica em zero. A contagem é a mesma que o modo de busca daria para o mesmo padrão e o mesmo texto, o que mostra quantas trocas serão feitas antes de aplicá-las.

Modo match e grupos de captura

No modo match a resposta lista cada ocorrência com o match completo, o índice UTF-16 inicial, os grupos numerados e os nomeados opcionais. Sem a flag global obtém no máximo um match; com g percorre matches sem sobreposição; sticky y tem de casar no índice atual e não salta espaços.

Modelos de replace

Sem match, o resultado é o texto original e count é zero. Use o mesmo padrão e flags que colaria num editor para alinhar cliente e servidor.

Flags, padrões inválidos e limites

Só se aceitam g, i, m, s, u e y, sem duplicados. Com u, o ponto opera sobre code points; sem u, um emoji pode ocupar duas unidades UTF-16.

Depurar padrões antes de publicar

Cole logs ou entradas de formulário e confirme grupos e índices antes de levar o regex a produção.

Ensinar e documentar regex

Mostre match e replace com as mesmas regras ECMAScript usadas em JavaScript.

Casos sticky e global

Veja como y e g interagem com espaços e matches vazios sem adivinhar quirks do browser.

O testador de regex online é gratuito?

Sim. A ferramenta no browser corre localmente sem custo.

Que flavor de regex é usado?

RegExp ECMAScript, o mesmo motor de browsers modernos e Node. Não é PCRE nem Python re.

Quais são os limites de tamanho?

Padrão ≤ 1000 caracteres, texto ≤ 100000 caracteres e no máximo 10000 matches por pedido.

Por que só aparece uma correspondência?

Sem a flag g a busca para na primeira correspondência, como uma busca simples em JavaScript. Com g, o testador percorre todas as correspondências do texto, sem sobreposição.

Por que a flag y para depois da primeira palavra?

Com y, a correspondência precisa começar exatamente onde a anterior terminou e não pode pular espaços nem outros caracteres. Por isso gy em palavras separadas por espaços costuma devolver só a primeira.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/dev/regex-tester

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/dev/regex-tester \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pattern":"\\w+","text":"hello world"}'
{
  "pattern": "\\w+",
  "text": "hello world"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.regex_tester",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_pattern_chars1000
max_text_chars100000
max_matches10000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Modo match e grupos de captura

Um grupo opcional que não participa devolve-se como null em JSON para as posições permanecerem estáveis.

Modelos de replace

O modo replace usa a tabela ECMAScript: $$ torna-se um dólar literal, $& é o match completo, $1–$99 são capturas numeradas quando existem e $<name> insere uma captura nomeada.

Flags, padrões inválidos e limites

Um padrão inválido nunca lança uma exceção crua do motor: recebe invalid_input tipado com mensagem clara. Os limites de comprimento protegem o separador: padrão até 1000 caracteres, texto até 100000 e no máximo 10000 matches por chamada.

Pré-visualizar substituições

Experimente modelos numa amostra curta e depois chame a API com o mesmo contrato a partir de um pipeline.

Que flags são suportadas?

g, i, m, s, u e y. Outras flags ou duplicadas devolvem invalid_input.

Como são devolvidos os grupos opcionais?

Como null no array groups (e em named quando aplicável), nunca omitidos nem undefined em JSON.

O que acontece se o padrão for inválido?

Recebe invalid_input com uma mensagem que começa por Regex inválida, não um SyntaxError sem tipo.

Ver a documentação completa do KIT →