Testador de Regex
Uma expressão regular (regex) é um padrão que descreve um conjunto de strings. Regex é usado em busca, válidação de texto, analise e operações de localizar e substituir em práticamente todas as linguagens de programação. Insira um padrão é uma string de teste abaixo para ver as correspondencias realçadas em tempo real, com grupos de captura e grupos nomeados extraıdos automaticamente.
O que é uma expressão regular (regex)?
Uma expressão regular é uma sintaxe compacta para descrever padrões em texto. Em vez de hardcodar uma string específica como “olá”, você escreve um padrão como \b\w+\b que corresponde a qualquer sequência de caracteres de palavra. Regex está integrado em praticamente todas as linguagens de programação e editores de texto, tornando-o uma das habilidades mais portáveis que um desenvolvedor pode aprender. É usado para validação de entrada (este é um endereço de email válido?), busca e substituição (trocar nome e sobrenome), análise de arquivos de log, extração de dados de texto estruturado e pipelines de processamento de texto. A sintaxe combina caracteres literais com metacaracteres (., *, +, ?, ^, $) e quantificadores ({n}, {n,m}) para construir regras de correspondência precisas.
Como Usar
- Digite um padrão regex no campo de padrão ou selecione uma predefinição (Email, URL, IPv4, etc.)
- Ative ou desative as flags conforme necessário. Global (g) esta ativada por padrão para que você veja todas as correspondencias
- Insira ou cole sua string de teste. As correspondencias são realçadas instantaneamente
- Clique em um cartão de correspondencia para expandir os detalhes do grupo de captura
- Copie o literal regex completo ou os valores de correspondencia individuais
Entendendo a Sintaxe Regex
Cada regex e construıdo a partir de dois tipos de partes: caracteres literais que correspondem a si mêsmos e metacaracteres que correspondem a padrões. O metacaractere \d corresponde a qualquer dıgito, \w a qualquer caractere de palavra (letras, dıgitos, sublinhado) e \s a espaço em branco. Quantificadores controlam repetição: + significa um ou mais, * significa zero ou mais, {3} significa exatamente tres e {2,5} significa entre dois e cinco.
Ancoras como ^ (inıcio da string) e $ (final da string) não consomem caracteres mas afirmam uma posição. Com a flag multilinha ativada, elas correspondem a limites de linha em vez disso. Lookaheads (?=...) e lookbehinds (?<=...) são asserções de largura zero que verificam um padrão sem incluı-lo na correspondencia.
Classes de caracteres [abc] correspondem a qualquer um dos caracteres listados. Intervalos como [a-z] correspondem a letras minusculas. Negação [^abc] corresponde a qualquer caractere exceto os listados.
Considerações de Desempenho
Certos padrões causam retrocessó catastrófico, onde o motor leva tempo exponencial em entradas que não correspondem. O exemplo classico e (a+)+$ testado contra uma string de ‘a’s sem final de linha. Evite quantificadores aninhados nos mêsmos caracteres. Se seu padrão demorar notavelmente, simplifique-o ou use grupos atomicos/quantificadores possessivos (não disponıveis no regex do JavaScript, mas alcançaveis por meio de reestruturação do padrão).
Precisa trabalhar com uma URL correspondida? Envie-a para o Codificador de URL para codificação. Se uma correspondencia retornar JSON, o Formatador JSON pode formatá-lo. Use o Verificador de Diferenças para comparar a saıda regex em diferentes strings de teste.