Ir para o conteúdo principal
Bethemesh

Testador de expressões regulares

Avalie uma expressão regular num texto, ajuste as opções e visualize as correspondências para aperfeiçoar o padrão mais facilmente.

  • Área de transferência
  • Exportar

Integrar este widget

Personalize o resultado, verifique a pré-visualização e copie o código.

Pré-visualização

Tipo de código de integração

Código a copiar

Responsivo e redimensionado automaticamente pela Bethemesh.

Expressão

Esta ferramenta foi útil?

Como funciona esta ferramenta?

Teste uma expressão regular JavaScript e examine correspondências completas com a posição inicial. Padrão e opções são separados para distinguir sintaxe Regex de um literal de código. A avaliação fica no navegador, num Worker separado com dois segundos de orçamento e um limite de 10 000 correspondências. Uma pesquisa dispendiosa pode assim ser interrompida sem bloquear a interface principal.

O padrão é passado ao construtor RegExp do navegador. Introduza \d+ diretamente, sem delimitadores /.../ nem escapes duplicados de strings de código. Opções como i, m, s e u seguem o suporte JavaScript do navegador. Opções desconhecidas, repetidas ou incompatíveis causam erro.

O testador recolhe correspondências globalmente e acrescenta g quando falta. y mantém a pesquisa presa à posição atual em vez de pesquisar livremente todo o texto. Apresentam-se correspondências completas, sem detalhar grupos de captura em separado.

Cada linha contém número, texto encontrado e índice inicial entre parênteses retos. Os índices começam em zero e contam unidades UTF-16 JavaScript. Com u, um emoji pode formar uma correspondência e ocupar duas unidades de índice. As posições não contam universalmente caracteres visuais.

O Worker termina quando passam dois segundos. O arranque está incluído: um timeout não prova, por si só, sintaxe inválida. A lista limita-se a 10 000 resultados com aviso explícito. Alterar texto, padrão ou opções invalida a saída anterior; repor interrompe a tarefa atual.

Testa também textos sem correspondências e entradas vazias. As posições seguem unidades UTF-16 de JavaScript, não necessariamente os caracteres visíveis.

Como usar esta ferramenta

  1. Introduza o padrão sem delimitadores

    Separe expressão e letras das opções. O texto de origem pertence ao campo grande, não ao padrão.

  2. Teste um excerto representativo

    Comece com pouco texto e examine valores e índices. Num timeout, simplifique alternativas e quantificadores antes de repetir com menos dados.

  3. Reutilize as observações

    Copie ou descarregue correspondências e acrescente testes no ambiente final. O ficheiro exportado não é um programa de substituição.

Casos de uso

Verificar extração antes de integrar

Teste linhas representativas e posições iniciais. A pesquisa não substitui texto nem regista regras no projeto.

Comparar opções de pesquisa

Observe i para maiúsculas e m para âncoras de linha. Não suponha comportamento idêntico em PCRE ou SQL.

Reproduzir problemas de índices Unicode

Distinga texto encontrado e índice JavaScript com caracteres adicionais antes de selecionar partes de strings no código.

Exemplos

Encontrar duas ocorrências com índices

Ada com g encontra ambas as palavras. Em Ada and Ada a primeira começa em 0 e a segunda em 8.

Entrada

{
  "pattern": "Ada",
  "flags": "g",
  "text": "Ada and Ada"
}

Resultado

1. Ada [0]
2. Ada [8]

Distinguir correspondência Unicode e índice UTF-16

Com . e gu, 😀 é uma correspondência completa em 1. B começa em 3 porque o emoji ocupa duas unidades UTF-16.

Entrada

{
  "pattern": ".",
  "flags": "gu",
  "text": "A😀B"
}

Resultado

1. A [0]
2. 😀 [1]
3. B [3]

Dicas e boas práticas

  • Mantenha casos sem correspondência: revelam frequentemente backtracking dispendioso.
  • As correspondências não se sobrepõem automaticamente. Use uma construção adequada para inícios sobrepostos.
  • Um exemplo correto não demonstra validação completa de emails, URLs ou formatos de negócio.
  • A saída extraída pode conter dados sensíveis. Verifique antes de partilhar.

Fontes e referências

Perguntas frequentes

Devo colar /meupadrão/g no campo Expressão?

Não. Introduza meupadrão como expressão e g nas opções. As barras não são removidas automaticamente como delimitadores de literal JavaScript.

Porque há vários resultados sem g?

O testador acrescenta g para recolher ocorrências. Apresenta uma lista, não reproduz uma chamada exec isolada sem pesquisa global.

Os grupos de captura são exportados?

A saída contém correspondências completas e índices iniciais. Grupos e nomes não são apresentados separadamente nesta versão.

Porque foi interrompida a pesquisa?

Ultrapassou dois segundos. Algumas combinações de quantificadores causam muitos retrocessos. Reduza o texto e simplifique o padrão; terminar o Worker mantém a interface utilizável.

Reproduz PCRE ou Python?

Não. Usa JavaScript RegExp no navegador. Outros motores podem diferir em construções suportadas, índices e regras Unicode.

Ferramentas relacionadas

Ferramentas semelhantes ou complementares a esta.

Ferramentas semelhantes

Formate JavaScript, TypeScript ou JSX para facilitar a leitura sem executar código. Processamento local no navegador.

DesenvolvimentoUtilizar esta ferramenta

Consulte dados JSON com uma expressão JSONPath simples.

DesenvolvimentoUtilizar esta ferramenta