Testador de Regex
Teste expressões regulares em relação ao texto e veja todas as correspondências destacadas. Essencial para desenvolvedores que trabalham com correspondência de padrões, validação de dados ou processamento de texto. Depure e refine seus padrões de regex em tempo real com feedback visual que mostra exatamente o que corresponde à sua expressão.
Perguntas frequentes
O que é uma expressão regular (regex)?
Uma expressão regular é uma sequência de caracteres que define um padrão de pesquisa. O Regex é usado para localizar, combinar e manipular texto com base em padrões em vez de cadeias exatas. É incrivelmente eficiente para tarefas como validação de endereços de e-mail, extração de dados de texto, operações de localização e substituição e análise de arquivos de registro.
Como faço para testar se meu padrão regex funciona?
Digite o padrão regex no campo de padrão e cole o texto de teste na área de texto. A ferramenta destacará todas as correspondências em tempo real, mostrando exatamente o que o padrão captura. Se nada for destacado, seu padrão não está correspondendo. Use esse feedback visual para refinar o padrão até que ele corresponda exatamente ao que você precisa.
Quais são os sinalizadores de regex comuns e o que eles fazem?
Os sinalizadores mais comuns são: 'g' (global) localiza todas as correspondências em vez de apenas a primeira, 'i' (case-insensitive) ignora diferenças entre maiúsculas e minúsculas, 'm' (multiline) faz com que ^ e $ correspondam a inícios/finais de linha em vez de apenas inícios/finais de cadeia de caracteres, e 's' (dotall) faz com que . corresponda a caracteres de nova linha. Combine sinalizadores como 'gi' para correspondência global sem distinção entre maiúsculas e minúsculas.
Como faço para corresponder endereços de e-mail ou URLs com regex?
Para e-mail: tente /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ para validação básica. Para URLs: /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/ works for most cases. Observe que a validação perfeita de e-mail/URL é extremamente complexa - esses padrões lidam com os casos mais comuns.
Qual é a diferença entre .* e .+?
O ponto (.) corresponde a qualquer caractere. O asterisco (*) significa "zero ou mais vezes", enquanto o sinal de mais (+) significa "uma ou mais vezes". Portanto, .* corresponde a zero ou mais de qualquer caractere (inclusive não corresponde a nada), enquanto .+ requer pelo menos um caractere para corresponder. Por exemplo, 'a.*b' corresponde a 'ab' ou 'a123b', mas 'a.+b' corresponde apenas a 'a123b'.
Como faço para que meu regex não seja ganancioso?
Por padrão, os quantificadores como *, + e {n,m} são gananciosos - eles correspondem ao máximo possível. Adicione um ponto de interrogação (?) após o quantificador para torná-lo não ambicioso (preguiçoso), correspondendo o mínimo possível. Por exemplo, no texto '<div>hello</div><div>world</div>', /<div>.*<\/div>/ corresponde à cadeia de caracteres inteira (greedy), enquanto /<div>.*?<\/div>/ corresponde a cada tag separadamente (non-greedy).
O que são grupos de captura e como posso usá-los?
Os grupos de captura usam parênteses () para extrair partes específicas de uma correspondência. Por exemplo, /user-(\d+)/ captura a ID numérica do usuário. O valor capturado pode ser acessado na maioria dos idiomas usando grupos de correspondência. Use (?:...) para grupos sem captura quando precisar de agrupamento para quantificadores, mas não quiser capturar o valor.
Como posso testar a regex para análise de arquivos de registro?
Cole amostras de entradas de log na área de string de teste e crie padrões para extrair registros de data e hora, endereços IP, códigos de status ou mensagens de erro. O destaque visual mostra exatamente o que corresponde, ajudando-o a refinar os padrões antes de implantá-los em ferramentas de análise de log, como Logstash, Splunk ou scripts personalizados.
O que são lookaheads e lookbehinds em regex?
Lookaheads (?=...) e lookbehinds (?<=...) afirmam que existe um padrão à frente ou atrás sem incluí-lo na correspondência. Por exemplo, /\d+(?= dollars)/ corresponde a números seguidos de ' dollars', mas captura apenas o número. Lookaheads negativos (?!...) e lookbehinds negativos (?<!...) afirmam que o padrão NÃO existe.
Posso usar essa ferramenta para validar entradas de formulário?
Sim! Teste padrões regex para validação de formulários, como números de telefone, códigos postais, cartões de crédito ou formatos personalizados. O feedback visual ajuda a garantir que seus padrões de validação aceitem corretamente entradas válidas e rejeitem entradas inválidas antes de implementá-los em seu aplicativo.