◯ Grátis: 5 utilizações/dia • Reinicia em 17h 10m
Desenvolvimento & Técnico

Gerador de Expressões Regulares

Transforme uma descrição em linguagem natural numa expressão regular funcional para JavaScript, Python, PCRE, Go, Java ou .NET — com explicação token a token, casos de teste e os casos limite que o padrão corresponde ou não corresponde deliberadamente.

Saiba mais

O Regex Generator gera uma expressão regular a partir de uma descrição do que deve corresponder, no sabor que realmente utiliza — JavaScript, Python, PCRE, RE2 do Go, Java ou .NET — e depois demonstra a sua validade: cada token é explicado, os seus exemplos de cadeias que devem e não devem corresponder são verificados, e o padrão inclui casos de teste adicionais, um fragmento de uso na sua linguagem e uma nota sobre os casos limite que exclui deliberadamente. Também indica quando um requisito não pode ser atendido no seu sabor, como look‑behind no Go, em vez de gerar silenciosamente um padrão que não compila.

0 / 3000
0 / 10000
0 / 10000

✓ Grátis — sem registo e sem cartão de crédito.

Programadores

Apenas endereços de email da empresa

Validação de registo que rejeita domínios de webmail gratuitos

Ver pré-visualização de entrada e saída

Entrada

O que o padrão deve corresponder?
Email addresses on the company domains acme.com and acme.co.uk, case-insensitive. Reject everything else, including gmail and addresses with nothing before the @.
Sabor da expressão regular
JavaScript / TypeScript
Exemplos que devem corresponder (um por linha)
[email protected] [email protected]
Exemplos que não devem corresponder (um por linha)
[email protected] @acme.com
Rigor
Prático (legível, cobre casos comuns)

Saída (excerto)

```javascript
/^[a-z0-9._%+-]+@acme\.(?:com|co\.uk)$/i
```

**Flags:** `i` — domínios e partes locais são comparados sem diferenciar maiúsculas/minúsculas.

| Token | Significado |
|---|---|
| `^` … `$` | a cadeia inteira deve ser o endereço |
| `[a-z0-9._%+-]+` | parte local: uma ou mais letras, dígitos ou a pontuação comum |
| `@acme\.` | literal @acme. — o ponto está escapado |
| `(?:com\|co\.uk)` | exatamente um dos dois domínios da empresa |

| Entrada | Esperado | Motivo |
|---|---|---|
| `[email protected]` | match | parte local simples, domínio permitido |
| `[email protected]` | match | ponto na parte local, segundo domínio |
| `[email protected]` | no match | domínio não está na lista |
| `@acme.com` | no match | parte local vazia |
| `[email protected]` | no match | ancorado, nada pode seguir |…
Todos os públicos

Datas de calendário ISO 8601

Extrair datas de linhas de registo antes de as analisar

Ver pré-visualização de entrada e saída

Entrada

O que o padrão deve corresponder?
ISO calendar dates like 2026-09-20 anywhere inside a line of text. Month 01-12, day 01-31. Do not match 2026-13-01 or 26-09-20.
Sabor da expressão regular
Python (re)
Exemplos que devem corresponder (um por linha)
deployed 2026-09-20 at 05:01 2024-02-29
Exemplos que não devem corresponder (um por linha)
2026-13-01 26-09-20
Rigor
Rigoroso (rejeita tudo que é inválido)

Saída (excerto)

```python
r"(?<!\d)(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(?!\d)"
```

**Flags:** none. O padrão não está ancorado porque a data está dentro de uma linha.

| Token | Significado |
|---|---|
| `(?<!\d)` | não precedido por um dígito — rejeita `12026-09-20` |
| `(\d{4})` | ano de quatro dígitos, capturado |
| `(0[1-9]\|1[0-2])` | mês 01-12 |
| `(0[1-9]\|[12]\d\|3[01])` | dia 01-31 |
| `(?!\d)` | não seguido por um dígito |

**Edge cases:** o padrão não conhece o número de dias de cada mês — `2026-02-31` corresponde. Valide com `datetime.date.fromisoformat()` após a extração, como mostra o fragmento de uso…

Os seus resultados de Gerador de Expressões Regulares aparecerão aqui

Espere blocos de código limpos com comentários, além de uma breve explicação do que mudou.

Como Usar Gerador de Expressões Regulares

  1. Descreva o que o padrão deve corresponder em linguagem simples, incluindo o que deve rejeitar — 'endereços de email corporativos, não webmail gratuito' é melhor do que 'emails'.
  2. Escolha o sabor em que será executado. Go, JavaScript, Python, Java, .NET e PCRE diferem no suporte a look‑around, tratamento de Unicode e escape.
  3. Cole algumas cadeias que devem corresponder e algumas que não devem, uma por linha. O padrão é verificado contra cada uma delas.
  4. Escolha o rigor: 'Prático' para padrões legíveis que cobrem entradas normais, 'Rigoroso' para validação, 'Flexível' quando captura de forma ampla e filtra depois.

Casos de Uso

1

Validar a entrada de formulários, como códigos postais, matrículas ou formatos de ID internos

2

Extrair datas, números de fatura ou referências de encomenda de linhas de registo e emails

3

Criar uma pesquisa‑substituição para uma limpeza em massa num editor ou script de migração

4

Explicar um padrão legado que um colega deixou na base de código colando-o como descrição

5

Converter um padrão de um sabor para outro ao mover um script de Python para Go

Dicas para Melhores Resultados

  • Forneça exemplos que não devem corresponder — eles afinam o padrão mais do que os exemplos que devem corresponder.
  • Se precisar dele dentro de uma string de linguagem, solicite essa variante: a fuga faz parte da resposta.
  • Para validação voltada ao utilizador, escolha 'Strict' e leia a secção de casos limites antes de publicar.
  • Um padrão com repetição aninhada em dados não confiáveis pode bloquear o seu servidor; a saída avisa quando esse risco existe.

Perguntas Frequentes

Que variantes de regex são suportadas?

JavaScript e TypeScript, o módulo re do Python, PCRE (PHP, Ruby, Perl), o motor RE2 do Go, Java e .NET. O padrão é escrito como literal na linguagem escolhida, com a fuga que essa linguagem requer.

Ele testa o padrão?

Cada exemplo que fornece é listado numa tabela de testes com o resultado esperado e a razão. A ferramenta também adiciona casos de fronteira — entrada vazia, espaços em branco, quase correspondências — para que possa ver o que poderia passar despercebido.

Por que indica que o meu requisito é impossível em Go?

O motor RE2 do Go garante correspondência em tempo linear e, por isso, não tem look-ahead, look-behind ou retro‑referências. Quando a descrição necessita de algum desses, a ferramenta informa isso e oferece o padrão mais próximo que o RE2 pode compilar, geralmente com uma pequena verificação no código.

Qual é a diferença entre Practical, Strict e Lenient?

Os padrões Practical são legíveis e cobrem as entradas que realmente vê. Os padrões Strict rejeitam qualquer cadeia que não seja válida, ao custo de comprimento e legibilidade — use‑os para validação. Os padrões Lenient capturam de forma ampla para que possa filtrar no código depois — use‑os para extração de texto desordenado.

Pode explicar uma regex que já tenho?

Sim. Cole o padrão existente na descrição com 'explain this' e a saída analisa‑o token a token, lista o que corresponde e aponta qualquer risco de retrocesso catastrófico.

🔒
A Sua Privacidade Está Protegida

Guardamos a sua entrada e o resultado durante um máximo de 90 dias para operar o serviço, prevenir abusos e, se tiver sessão iniciada, mostrar o seu histórico. São processados pelos fornecedores de IA indicados na nossa Política de Privacidade. Não os vendemos.

Ferramentas relacionadas

Experimentar este agente

Agente de Automação APIDescreva uma automação em linguagem simples → receita REST/webhook → exemplos em curl + Python +…Experimentar este agente →

Fluxo relacionado

Crie uma Identidade de MarcaDo conceito a um sistema visual coerenteExecutar fluxo →

Ler mais