Criador de Regex
- ClassePreguiçoso
Fragmento
\d+
- Escolha um padrão pronto — e-mail, URL, CPF, CEP — ou comece por um bloco solto.
- Cada bloco vira um pedaço da expressão, na ordem em que aparece na lista. Use as setas para reordenar.
- Ajuste a repetição de cada bloco: uma vez, opcional, zero ou mais, uma ou mais, ou uma contagem exata.
- Cole um texto de teste no painel de baixo para conferir os matches enquanto monta.
- Com o padrão pronto, use o atalho para abri-lo no testador e trabalhar os grupos capturados.
- Pronto — um padrão completo já testado, como e-mail ou UUID. Serve de ponto de partida.
- Classe — os atalhos do próprio motor: dígito, palavra, espaço e suas negações.
- Conjunto — os caracteres que você digitar viram uma classe entre colchetes. Marcar "negar" inverte a escolha.
- Literal — texto casado ao pé da letra. Os metacaracteres são escapados para você.
- Grupo — alternância entre palavras, com ou sem captura. O grupo nomeado facilita a leitura de padrões longos.
- Âncora — início, fim e limite de palavra. Não aceitam repetição porque não consomem caractere.
- Bruto — um trecho de regex escrito à mão, sem escape. É por onde entra um padrão trazido do testador.
Um quantificador só vale para o que vem imediatamente antes dele. Aplicar "uma ou mais" ao texto abc geraria abc+, que repete apenas o c.
Para evitar isso, o construtor envolve o fragmento em um grupo sem captura sempre que ele não é indivisível: (?:abc)+. Classes, atalhos como \d e grupos já fechados não precisam do reforço e ficam como estão.
A opção "preguiçoso" acrescenta ? ao quantificador. Em vez de casar o máximo possível e voltar, o motor casa o mínimo e avança — a diferença entre .* e .*? ao capturar conteúdo entre tags.
Os blocos são lidos em sequência, então lookahead, lookbehind e retrovisores continuam sendo trabalho do bloco bruto.
Os padrões prontos casam formato, não validade: o preset de CPF aceita 000.000.000-00 porque a conferência do dígito verificador não cabe em uma expressão regular.
A expressão gerada usa o motor do JavaScript. Ao levar o resultado para PCRE, Python ou Go, confira lookbehind e classes Unicode, que variam entre implementações.
Quantificador aninhado sobre grupo com alternância é o berço do backtracking catastrófico. Se o texto de teste travar, simplifique antes de levar o padrão para produção.
Perguntas frequentes
No bloco literal e nas alternativas do grupo, não — o escape é feito na montagem. No bloco bruto, sim: ele entra na expressão exatamente como você escreveu.
O padrão e as flags seguem junto e já aparecem preenchidos lá. No caminho de volta, a expressão inteira entra como um bloco bruto, porque uma regex qualquer não é decomponível em blocos sem risco de mudar o sentido.
Porque âncoras casam uma posição, não um caractere. Repetir ^ ou \b não muda o que a expressão encontra e só deixa o padrão mais confuso.
O grupo com captura guarda o trecho casado para você usar depois, e aparece na lista de grupos do testador. O sem captura só agrupa para aplicar quantificador ou alternância, sem guardar nada — é mais rápido e não polui o resultado.