O que é uma expressão regular?

Uma expressão regular (regex) é uma sequência de caracteres que define um padrão de busca. Originalmente desenvolvidas para a teoria das linguagens formais, as expressões regulares são hoje utilizadas em praticamente todas as linguagens de programação e ferramentas de processamento de texto para localizar, pesquisar e manipular strings. Um padrão como [a-z]+@[a-z]+\.com descreve a estrutura de um endereço de e-mail simples — letras, seguidas do símbolo @, mais letras, um ponto e a string literal "com."

Além da busca, as expressões regulares também podem servir como modelos para a geração de dados. Ao inverter o processo de correspondência, um motor de regex pode produzir strings aleatórias que obedecem a um determinado padrão. Isso é especialmente útil para testes de software, prototipagem e preenchimento de bancos de dados com dados fictícios de aparência realista, sem depender de informações reais de usuários.

Descrição da ferramenta

Esta ferramenta gera strings aleatórias que correspondem a qualquer expressão regular fornecida. Insira um padrão regex — ou escolha entre os modelos predefinidos — e produza instantaneamente até 1.000 valores correspondentes. Suporta toda a sintaxe padrão de regex, incluindo classes de caracteres, quantificadores, grupos, alternância e retrorreferências. O resultado pode ser usado diretamente como fixtures de teste, dados de seed ou entrada para scripts de validação.

Funcionalidades

  • Modelos predefinidos para formatos comuns: e-mail, IPv4, UUID, número de telefone americano, data, cor hexadecimal, placa de veículo e endereço MAC
  • Entrada de regex personalizada com suporte à sintaxe completa de expressões regulares do JavaScript
  • Quantidade ajustável de 1 a 1.000 valores gerados por execução
  • Controle de repetição máxima para limitar quantas vezes os quantificadores ilimitados (+, *, {n,}) se expandem, evitando strings excessivamente longas
  • Modo somente valores únicos que remove duplicatas do resultado e avisa caso a entropia do padrão seja insuficiente para produzir valores distintos suficientes

Casos de uso

  • Testes de software: Gere centenas de endereços de e-mail, UUIDs ou endereços IP com aparência válida para usar como fixtures de teste ou dados de seed em suítes de testes automatizados, sem expor informações reais de usuários.
  • Preenchimento de banco de dados: Popule rapidamente bancos de dados de desenvolvimento ou homologação com dados fictícios realistas que respeitam as restrições de colunas e regras de validação.
  • Aprendizado de regex: Experimente a sintaxe de expressões regulares escrevendo um padrão e vendo imediatamente quais strings ele pode produzir, facilitando a compreensão de quantificadores, classes de caracteres e agrupamentos.

Explicação das opções

Opção Descrição
Modelo predefinido Selecione um padrão integrado para formatos de dados comuns ou escolha "Personalizado" para escrever seu próprio regex. Ao selecionar um modelo, o campo de padrão regex é preenchido automaticamente.
Padrão regex A expressão regular utilizada para gerar os dados. Suporta classes de caracteres ([a-z]), quantificadores ({3,8}, +, *), grupos e alternância ((com|net|org)) e tokens especiais (\d, \w).
Quantidade Número de strings a serem geradas, entre 1 e 1.000.
Repetição máxima Limita a expansão de quantificadores ilimitados. Por exemplo, com a repetição máxima definida como 10, o padrão [a-z]+ produzirá strings de no máximo 10 caracteres. Intervalo: 1–100.
Somente valores únicos Quando ativado, garante que não apareçam strings duplicadas no resultado. Se o padrão não conseguir produzir valores únicos suficientes, um aviso é exibido com o número real de valores gerados.

Dicas

  • Comece com um modelo predefinido e modifique-o para entender como os padrões regex se traduzem em dados gerados.
  • Se precisar de saída com comprimento fixo, use quantificadores exatos como {8} em vez de intervalos como {5,10}.
  • Reduza o valor de repetição máxima ao usar + ou * para manter as strings geradas curtas e legíveis.
  • Ative o modo de valores únicos ao gerar identificadores ou chaves que não podem se repetir, mas utilize um padrão com variação suficiente para evitar atingir o limite de unicidade.

Perguntas frequentes

Posso usar lookaheads ou lookbehinds? O gerador é baseado na biblioteca randexp.js, que suporta a maioria dos recursos de regex do JavaScript. Lookaheads e lookbehinds não são suportados para geração, pois não definem o conteúdo dos caracteres.

Por que recebi menos resultados do que o solicitado? Com o modo "Somente valores únicos" ativado, o padrão pode não ter permutações possíveis suficientes para produzir o número solicitado de strings distintas. Tente ampliar as classes de caracteres ou aumentar os intervalos dos quantificadores.

O resultado é verdadeiramente aleatório? O resultado é pseudoaleatório. Cada execução produz resultados diferentes, mas a aleatoriedade não é criptograficamente segura. Não utilize esta ferramenta para gerar senhas ou tokens de segurança.