Teste expressões regulares com realce de correspondências ao vivo, extração de grupos de captura e predefinições de padrões comuns. Tudo no navegador.
Uma expressão regular (regex) é um padrão que descreve um conjunto de strings. Regex é usado em busca, validaçã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 correspondências realçadas em tempo real, com grupos de captura e grupos nomeados extraídos automaticamente.
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.
Cada regex e construído a partir de dois tipos de partes: caracteres literais que correspondem a si mesmos 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 inclui-lo na correspondência.
Classes de caracteres [abc] correspondem a qualquer um dos caracteres listados. Intervalos como [a-z] correspondem a letras minúsculas. Negação [^abc] corresponde a qualquer caractere exceto os listados.
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 mesmos 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 correspondência retornar JSON, o Formatador JSON pode formatá-lo. Use o Verificador de Diferenças para comparar a saida regex em diferentes strings de teste.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.