Regex Tester

Teste expressões regulares em texto.

Resultado

Aguardando conteúdo.

O que faz e quando usar

Uma expressão regular descreve uma regra para reconhecer trechos de texto. Em vez de procurar apenas uma palavra fixa, podemos procurar uma ou mais letras, uma sequência de dígitos ou um texto que comece de certa maneira. A regra é o padrão; cada trecho que satisfaz essa regra é uma correspondência, também chamada match. O padrão não compreende o significado do texto. Encontrar algo com aparência de data não demonstra que o dia exista no calendário. Uma regex é útil para localizar formas e ajudar em validações delimitadas; quando a regra depende de relações complexas entre dados, outras verificações podem ser necessárias.

Processo utilizado

Alguns caracteres são literais: o padrão gato procura essa sequência. Outros têm função especial: ponto representa um caractere (com restrições conforme as flags); \d representa um dígito; + repete o elemento anterior uma ou mais vezes; * admite zero ou mais; ? torna uma repetição opcional ou modifica sua estratégia. Colchetes definem um conjunto, como [A-Z], e chaves delimitam quantidades, como \d{2}. Parênteses agrupam partes do padrão e podem capturar conteúdo: (\d+)-(\d+) encontra dois grupos de dígitos separados por hífen. A correspondência completa inclui os dois grupos e o hífen; cada captura identifica uma parte. Para procurar um ponto literal, é preciso escapar sua função especial, escrevendo \.. A entrada espera o padrão, sem as barras externas de um literal JavaScript.

Aplicação prática e conferência

Flags alteram como o padrão é aplicado. i ignora diferenças de maiúsculas e minúsculas; m faz ^ e $ considerarem limites de linha; s permite que o ponto alcance quebras de linha. A busca desta página usa g para listar as ocorrências, acrescentando essa flag quando ela não foi fornecida. Sem distinguir flags e padrão, duas buscas aparentemente iguais podem produzir listas diferentes. As posições mostradas são índices da string JavaScript e começam em zero. Isso ajuda a localizar uma ocorrência, mas não é uma contagem universal de caracteres visuais: certos símbolos Unicode usam mais de uma unidade interna. A interface apresenta a correspondência completa e a posição; não exibe uma tabela separada de grupos capturados.

Exemplo resolvido

Dados: texto pedido 123 e lote 45; padrão \d+. \d representa dígito e + repete um ou mais. Resultado: 123 no índice 7 e 45 no índice 18, contando posições desde zero. Os espaços e letras interrompem a sequência; por isso a busca não reúne tudo como 12345. Agora considere a forma de um identificador: duas letras maiúsculas, hífen e três dígitos. O padrão ^([A-Z]{2})-(\d{3})$ descreve essa estrutura. Em AB-123, [A-Z]{2} reconhece AB e \d{3} reconhece 123. Os parênteses definem dois grupos; ^ marca início e $ marca fim conforme as regras de linha do motor. Em uma linha simples, XAB-123 não satisfaz a forma completa, embora contenha o trecho AB-123. A interface mostra o match completo e sua posição, sem uma tabela de capturas. A flag i passaria a ignorar caixa; m altera os limites de linha considerados pelas âncoras. A regra testa uma forma textual, sem comprovar que AB-123 seja um identificador cadastrado em algum sistema.

Leitura do resultado e erros comuns

Uma lista de matches mostra onde a regra encontrou trechos, não se todo o documento está válido. Para exigir uma forma para o conteúdo inteiro, normalmente são necessárias âncoras e uma definição completa do formato. Também é possível obter uma correspondência vazia: isso não é ausência de execução, e sim uma regra que aceita comprimento zero naquela posição. Se uma busca não encontra o esperado, separe o raciocínio: o literal está correto? A repetição aceita a quantidade? O caractere especial deveria ser escapado? As flags mudam caixa ou limites de linha? Esse diagnóstico é mais confiável que acrescentar símbolos ao padrão por tentativa sem entender seu efeito.

Formatos e limitações

A sintaxe é a de RegExp do JavaScript e pode diferir de outros motores. A página não realiza substituições nem detalha capturas no resultado. Não há timeout ou isolamento da execução: padrões com retrocesso excessivo e textos longos podem bloquear a interface. Uma regex encontrada não prova segurança, validade de domínio, existência de e-mail ou correção semântica de dados.

Ferramentas relacionadas

Voltar para Desenvolvimento