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.
Conversor de Binário para ASCII
Cole binário (bytes separados por espaço ou um longo fluxo de bits) e obtenha o texto ASCII que ele representa, decodificado 8 bits por vez.
Contador de FPS
Meça o FPS do navegador com requestAnimationFrame: suavização, taxa de quadros mínima e máxima, limite de alerta e gráfico opcional. Roda localmente, sem upload nem API.
Conversor de ASCII para Hex
Converta texto ASCII em valores de byte hexadecimal. A saída usa dois dígitos hexadecimais por caractere, prontos para dumps de memória, rastreamentos de pacotes ou tabelas de firmware.
Gerador de Paletas de Cores
Gere paletas monocromáticas, análogas, complementares, triádicas ou tetrádicas a partir de uma cor base HEX e exporte variáveis CSS prontas para copiar.
Simplificador de Álgebra Booleana
Avalie uma expressão booleana para cada combinação de entrada e veja a tabela verdade completa. Suporta até cinco variáveis e os operadores &, |, ! e ^.