Construtor de Classes de Caracteres Regex | Monte um [...] de JS e teste
Combine 8 categorias (dígitos, minúsculas, maiúsculas, espaços e mais) com caracteres personalizados para montar uma classe de caracteres [...] ou [^...] compatível com JavaScript. O padrão roda sobre o seu texto de teste com a flag global e destaca cada correspondência.
💡 Sobre esta ferramenta
Uma classe de caracteres parece simples até que um hífen mal posicionado transforma [a-z] em um intervalo indesejado, ou um ^ no início inverte a classe inteira em uma negação. Dentro dos colchetes, os símbolos -, ^, \ e ] têm significado especial, e lembrar quando eles são literais ou não é justamente o tipo de detalhe que escapa quando se está aprendendo expressões regulares.
Esta ferramenta reúne as categorias mais comuns em caixas de seleção e deixa você adicionar qualquer símbolo em um único campo, escapando ^, -, \ e ] de forma automática para que a classe seja sempre válida. O padrão gerado roda sobre o texto de teste e destaca as correspondências, então dá para conferir o comportamento com os olhos em vez de adivinhar. Copie o resultado direto para o seu código quando estiver satisfeito.
🧐 Perguntas frequentes
P. O padrão funciona fora do JavaScript?
R. Ele segue a sintaxe RegExp do JavaScript. O básico das classes de caracteres é comum à maioria dos motores (PCRE, re do Python, Java), então uma classe simples como [0-9a-z] se aproveita sem problemas. Abreviações como \s podem variar entre motores, portanto verifique-as ao portar o padrão.
P. Como incluo um hífen ou outro símbolo de forma literal? R. Basta digitá-lo no campo de caracteres extras. Mesmo em posições que seriam lidas como intervalo, ele é escapado automaticamente e adicionado como literal.
P. Qual a diferença entre combinar e excluir?
R. Combinar significa "qualquer um destes caracteres"; excluir acrescenta ^ no início para que a classe signifique "qualquer coisa exceto estes". Mantenha as mesmas categorias e alterne entre as duas opções para ver o contraste.
P. Há limite de tamanho para o texto de teste? R. O campo não tem um teto fixo, mas o destaque depende do desempenho do navegador, então um texto muito longo pode ficar lento.
P. O que acontece com caracteres repetidos? R. Os caracteres já cobertos por uma categoria ou outra entrada são ignorados, de modo que a classe não fica cheia de elementos redundantes.
📚 Curiosidades sobre classes de caracteres
Dentro de uma classe, quase todos os metacaracteres perdem seu poder em silêncio. Um . representa um ponto literal em vez de "qualquer caractere", e *, + ou ? deixam de ser quantificadores para virar símbolos comuns. O hífen é a exceção famosa: entre dois caracteres ele forma um intervalo, então para usá-lo como literal você o coloca no início ou no fim da classe, ou o escapa. Entender essa assimetria — quase tudo é neutralizado, mas o hífen e o circunflexo ainda mordem — é um dos melhores atalhos para dominar as expressões regulares, pois explica a maioria dos erros de quem escreve as classes à mão.