Folha de consulta de regex
Escolha uma variante de regex
Comece pelo motor que utiliza. A referência ocultará a sintaxe que não se aplica a essa escolha.
Use esta referência interativa para comparar sintaxe comum de expressões regulares antes de a colar no código. Escolha JavaScript, PCRE2/PHP, Python re, .NET ou a vista de todos os motores, depois um tema e pesquise as entradas apresentadas. A referência assinala a sintaxe própria de cada família, porque um token pode compilar num motor e ser rejeitado ou ter outro significado noutro. A pesquisa e a cópia ocorrem no navegador e esta página não executa padrões no seu texto.
Como usar a folha de consulta de regex
-
1
Escolha um motor
Comece com JavaScript, PCRE2/PHP, Python re, .NET ou compare todos. A vista focada omite entradas que não se aplicam ao motor escolhido.
-
2
Escolha um tema
Abra âncoras, classes de caracteres, quantificadores, grupos, lookarounds, formas de padrões comuns ou flags e opções.
-
3
Pesquise e copie localmente
Pesquise tokens e descrições diretamente na página e selecione um token para o copiar. O texto pesquisado não é enviado ao servidor nem acrescentado ao URL.
-
4
Verifique no runtime real
Use o motor, as flags e a API do projeto para compilar e testar a expressão final. Esta referência explica sintaxe; não valida dados de produção.
A compatibilidade é importante
Expressões regulares não são uma única linguagem universal. Esta referência separa sintaxe parecida que não passa de forma fiável entre motores.
| Função | JavaScript RegExp | PCRE2 / PHP | Python re |
.NET |
|---|---|---|---|---|
| Início absoluto | Sem \A |
\A |
\A |
\A |
| Fim absoluto | Sem \z |
\z |
\Z |
\z |
Propriedade Unicode \p{L} |
Use modo u ou v |
Suportada | Não no re incorporado |
Suportada |
| Captura nomeada | (?<name>...) |
(?<name>...) ou (?P<name>...) |
(?P<name>...) |
(?<name>...) |
| Retroreferência nomeada | \k<name> |
\k<name> ou (?P=name) |
(?P=name) |
\k<name> |
| Correspondência global | Flag g e API de correspondência |
API repetida como preg_match_all |
API repetida como finditer |
API repetida como Matches |
\d e \w exigem atenção. Em JavaScript, \d continua a ser os algarismos ASCII 0-9 e \w consiste essencialmente em caracteres de palavra ASCII, mesmo com u. Outros motores podem aplicar regras Unicode conforme o modo e a configuração. Se o comportamento Unicode importa, escreva e teste a propriedade ou classe exata necessária.
Âncoras e limites
| Token | O que exprime | Nota de portabilidade |
|---|---|---|
^ |
Início da entrada ou de uma linha em modo multilinha | Disponível nas quatro famílias. |
$ |
Fim da entrada ou de uma linha em modo multilinha | Disponível nas quatro; os detalhes de nova linha final variam. |
\b |
Limite de palavra | O que conta como carácter de palavra depende do motor e do modo. |
\A |
Início absoluto do texto | PCRE2, Python e .NET; não JavaScript. |
\z |
Fim absoluto do texto | PCRE2 e .NET; Python usa \Z. |
\Z |
Fim do texto em Python | PCRE2 e .NET também podem corresponder antes de uma nova linha final; use \z nesses motores para o fim absoluto. |
Grupos e lookarounds
| Token | Significado | Limite importante |
|---|---|---|
(abc) |
Grupo de captura | Disponível nas quatro famílias. |
(?:abc) |
Grupo sem captura | Disponível nas quatro famílias. |
(?<name>abc) |
Grupo nomeado | Sintaxe de JavaScript, PCRE2 e .NET. |
(?P<name>abc) |
Grupo nomeado | Sintaxe de Python; PCRE2 também a aceita. |
(?=abc) / (?!abc) |
Lookahead positivo / negativo | Disponível nas quatro famílias. |
(?<=abc) / (?<!abc) |
Lookbehind positivo / negativo | Todos suportam, mas as extensões permitidas diferem. |
O lookbehind é uma armadilha comum de portabilidade. Python re exige largura fixa. O suporte de JavaScript depende do runtime distribuído; teste o padrão exato no runtime mais antigo que suporta, em vez de depender apenas de uma linha desta folha.
Formas de padrões, não validadores completos
As entradas de padrões comuns descrevem intencionalmente formas. Por exemplo, ^\d{4}-\d{2}-\d{2}$ aceita 2026-99-99, e um padrão simples com forma de e-mail não implementa a norma completa de endereços de e-mail. Depois de uma verificação inicial de formato, analise datas, URLs e identificadores estruturados com a biblioteca adequada.
| Forma | Padrão de exemplo | O que não prova |
|---|---|---|
| Decimal com sinal | ^-?\d+(?:\.\d+)?$ |
Marcas decimais regionais, agrupamento, intervalo ou precisão. |
| Texto com forma de e-mail | ^[\w.+-]+@[\w-]+\.[\w.-]+$ |
Um endereço de e-mail entregável ou conforme à norma. |
| Texto com forma de URL HTTP(S) | ^https?://\S+$ |
Um URL seguro, analisável ou acessível. |
| Forma de data ISO | ^\d{4}-\d{2}-\d{2}$ |
Uma data real do calendário. |
| Caracteres de slug ASCII | ^[A-Za-z0-9_-]+$ |
Regras de maiúsculas, separadores ou palavras reservadas da aplicação. |
Flags e opções
Não copie uma flag sem verificar a API anfitriã. JavaScript escreve /pattern/g, Python passa re.I ou re.X, .NET pode usar RegexOptions, e PCRE2/PHP usa habitualmente delimitadores e modificadores finais. g é uma flag JavaScript de correspondência global, não um modificador PCRE2; as correspondências PCRE2 repetidas são normalmente controladas pela API PHP. O modo expandido (x) existe em PCRE2, Python e .NET, mas não como flag JavaScript.
Perguntas frequentes
Não. É uma referência de sintaxe com pesquisa e cópia locais no navegador. Use um testador regex e o runtime da aplicação para compilar padrões e testar entradas representativas.
Alguns tokens familiares não são portáveis. O re incorporado do Python usa, por exemplo, (?P<name>…) para grupos nomeados, JavaScript usa (?<name>…), e JavaScript não suporta as âncoras absolutas \A e \z.
Não. Em JavaScript, \d são algarismos ASCII e \w são essencialmente caracteres de palavra ASCII mesmo com a flag u. Outros motores têm modos e opções Unicode diferentes; teste o comportamento exigido pelos seus dados.
Trate-os apenas como verificações rápidas de forma. Não provam que um e-mail é entregável, que um URL é seguro ou acessível, nem que uma data existe no calendário. Para regras de produção use um analisador ou validador específico.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Visualizador de Markdown
Escreva Markdown e veja a renderização HTML atualizar ao vivo. Sintaxe com estilo GitHub, incluindo tabelas, listas de tarefas, blocos de código cercados e autolinks.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Ferramenta disponível em outros idiomas
- Ściąga regex [PL]
- Regex-Spickzettel [DE]
- 正規表現チートシート [JA]
- Bảng Tra Regex [VI]
- Guía rápida de regex [ES]
- Regex-spiekbriefje [NL]
- 정규식 치트 시트 [KO]
- Lembar Ringkas Regex [ID]
- Regex-lathund [SV]
- ورقة غش للتعبيرات النمطية [AR]
- ชีตสรุป Regex [TH]
- Aide-mémoire regex [FR]
- Guida rapida alle regex [IT]
- Шпаргалка по регулярным выражениям [RU]
- Regex başvuru kılavuzu [TR]
- 正则表达式速查表 [ZH]
- Regex Cheat Sheet [EN]