Skip to content
Folha de consulta de regex
Tools

Folha de consulta de regex

Novo

Referência pesquisável de tokens e flags de expressões regulares.

Live regex tester

Type a pattern and a test string — matches highlight instantly, with every capture group broken out below.

/ /
Flags
Matches
Capture groups

Common regex patterns

Battle-tested patterns — load one into the tester to see it run, or copy it straight out.

Email address
[\w.+-]+@[\w-]+\.[\w.-]+
URL (http/https)
https?:\/\/[^\s]+
US phone number
\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
Date (YYYY-MM-DD)
(\d{4})-(\d{2})-(\d{2})
Time (24-hour)
([01]?\d|2[0-3]):[0-5]\d
IPv4 address
\b(?:\d{1,3}\.){3}\d{1,3}\b
Hex color
#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{3})\b
Slug / username
[a-z0-9]+(?:-[a-z0-9]+)*
Whole number / integer
-?\d+
Strong password (8+, mixed)
(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}
Duplicate word
\b(\w+)\s+\1\b
Trailing whitespace
[ \t]+$

Regex cheat sheet

Every token, grouped with a quick example. Search by symbol or keyword; click any token to copy it.

Regex flavors: JavaScript, Python, Java, PCRE & grep

The tester above runs JavaScript regex. Most syntax is shared — here's what differs between engines.

FeatureJavaScriptPython (re)JavaPCRE / grep
Named group(?<name>…)(?P<name>…)(?<name>…)(?P<name>…)
Dotall (. matches \n)s flagre.DOTALL / (?s)Pattern.DOTALL(?s)
Ignore casei flagre.IGNORECASE / (?i)(?i) flag(?i) / grep -i
Lookbehind(?<=…) ES2018+SupportedSupportedgrep -P only
Backslash in source/\d/ literalr"\d" raw string"\\d" doubled\d
Find every matchstr.matchAll(/…/g)re.findall()Matcher.find()grep -o
POSIX class [[:digit:]]use \d insteaduse \d insteadsupportedsupported

Runs entirely in your browser. Nothing is uploaded.

Tabela de referência regex com exemplos — e um testador ao vivo

Esta tabela de referência regex coloca todos os tokens de expressões regulares a um clique de distância — e inclui um testador ao vivo para experimentar um padrão assim que o consultar. Escreva um padrão, escolha as flags, cole um texto de teste, e as correspondências destacam-se instantaneamente enquanto cada grupo de captura é apresentado em baixo.

Não há nada para instalar nem conta para criar: toda a referência de expressões regulares funciona no seu browser, por isso o texto que testar nunca é enviado para servidores. Sem anúncios, sem autenticação obrigatória, sem limites de tamanho nos textos de teste.

Todos os tokens regex, agrupados com exemplos

A referência cobre a sintaxe que realmente usa no dia a dia: classes de caracteres (\d, \w, \s e conjuntos personalizados como [a-z]), âncoras e fronteiras (^, $, \b), quantificadores (*, +, ?, {n,m} e as suas formas preguiçosas), grupos e alternância, lookahead e lookbehind, as flags g i m s u y, e os escapes necessários para pontos e barras literais.

Cada entrada inclui um exemplo breve e concreto — \bcat\b corresponde à palavra 'cat' mas não a 'category' — para que o significado fique retido. Pesquise os tokens regex por símbolo ou palavra-chave e clique em qualquer um para o copiar.

Teste o seu padrão enquanto o constrói

As tabelas estáticas não dizem se o seu padrão funciona de facto. O testador regex integrado compila a sua expressão em tempo real, destaca todas as correspondências no texto de exemplo e lista os grupos de captura numerados e nomeados de cada uma.

Ative a flag global, sem distinção entre maiúsculas e minúsculas, multilinha, dotall, Unicode e sticky e observe os resultados a mudarem. Se um padrão for inválido, recebe uma mensagem de erro em linguagem simples em vez de uma falha silenciosa — e ver um padrão encontrar correspondências em tempo real é a forma mais rápida de aprender regex.

Padrões regex comuns, prontos a copiar

Alguns padrões surgem repetidamente — endereços de email, URLs, números de telefone, datas ISO, endereços IPv4, cores hexadecimais e verificações de palavra-passe segura. A secção de Padrões comuns oferece uma versão verificada de cada um: carregue-o diretamente no testador para o ver em ação com texto de exemplo, ou copie-o para o seu código.

São pontos de partida pragmáticos que pode adaptar, e não regras universais — razão pela qual testá-los com os seus próprios dados é essencial.

Como se compara ao regex101.com e ao regexr.com

O regex101.com é a ferramenta regex dedicada mais popular da web — e com razão. Suporta seis variantes de regex (PCRE, Python re, Golang, Java, .NET e JavaScript), apresenta um painel de explicação token a token e regista um histórico de correspondências. Se estiver a depurar um padrão de produção complexo ou a verificar que um padrão se comporta de forma idêntica em PHP e Python, o regex101 é a ferramenta certa. O regexr.com oferece uma experiência semelhante com uma biblioteca pública de padrões contribuídos pela comunidade.

Esta página do UtiloKit ocupa um ponto diferente no fluxo de trabalho. Combina uma tabela de referência de tokens com pesquisa e um testador ao vivo no mesmo ecrã, otimizada para a situação comum em que sabe aproximadamente o que precisa mas não se lembra da sintaxe exata. Chega, consulta o token, cola uma string de teste rápida e regressa ao editor — sem troca de separadores, sem conta, sem anúncios. Para programadores que acedem ao regex101 dezenas de vezes por dia apenas para lembrar se o lookbehind usa (?<=…) ou (?<!…), ter uma referência pesquisável dedicada é visivelmente mais rápido. Use ambas: regex101 para depuração profunda, esta página para consultas rápidas.

Variantes de regex: JavaScript, Python, Java, PCRE e grep

A maior parte da sintaxe regex é portável, mas os motores diferem nos detalhes. O testador aqui usa regex JavaScript, a mesma variante do Node.js e do browser. O módulo Python re prefere strings brutas como r"\d+" e nomeia grupos com (?P<name>…); o Java precisa de barras invertidas duplas em literais de string; o PCRE (PHP e grep -P) é o mais completo em funcionalidades; e o POSIX grep -E tem as suas próprias particularidades de escape.

A tabela de variantes destaca grupos nomeados, dotall, insensibilidade a maiúsculas, lookbehind e 'encontrar todas as correspondências' em cada motor, para que possa mover um padrão da tabela regex de Python para JavaScript — ou vice-versa — sem surpresas.

Greedy vs. lazy, e outras armadilhas

Dois aspetos apanham quase toda a gente de surpresa. Primeiro, os quantificadores são greedy (gulosos): .+ captura o máximo possível, por isso para corresponder a uma única tag HTML normalmente quer o lazy .+?. Segundo, esquecer de escapar metacaracteres — um simples . corresponde a qualquer carácter, enquanto \. corresponde a um ponto literal, por isso um regex de preço precisa de \d+\.\d{2}.

Mantenha a tabela de referência aberta enquanto trabalha e estas situações deixam de ser surpresas.

Privado, instantâneo e gratuito

Não há nada para instalar nem conta para criar. Cada consulta, cada correspondência e cada cópia acontece localmente no seu browser — os seus padrões e dados de teste nunca saem do seu dispositivo. Marque esta tabela de referência regex como favorita e recorra a ela sempre que precisar de recordar um token ou verificar um padrão.

Frequently asked questions

O que é uma expressão regular com exemplo?

Uma expressão regular (regex) é um padrão compacto que descreve um conjunto de strings, usado para pesquisar, corresponder e substituir texto. Por exemplo, o padrão \d{3}-\d{4} corresponde a um fragmento de número de telefone como 555-1234, porque \d significa 'um dígito' e {3} significa 'exatamente três deles'. O regex é usado em pesquisa e substituição, validação de formulários e análise de logs em quase todas as linguagens de programação e editores de código. O testador ao vivo no topo desta página permite experimentar qualquer padrão instantaneamente.

Quais são os tokens básicos de regex?

Os blocos fundamentais são: . (qualquer carácter exceto nova linha), \d (um dígito), \w (um carácter de palavra — letra, dígito ou sublinhado), \s (espaço em branco), as âncoras ^ (início) e $ (fim), e os quantificadores * (zero ou mais), + (um ou mais) e ? (opcional). Assim, \w+ corresponde a uma palavra completa e \d+ a um número inteiro como 2024. Combine-os — ^\d+$ corresponde a uma linha que é apenas dígitos. Cada token nesta tabela inclui um exemplo que pode copiar.

O que significa \d, \w e \s?

\d corresponde a qualquer dígito de 0 a 9; \w corresponde a um carácter de palavra (a–z, A–Z, 0–9 ou _); \s corresponde a espaço em branco (espaço, tabulação ou nova linha). As versões em maiúsculas são as negações: \D é um não-dígito, \W um carácter não-palavra e \S um não-espaço. Por exemplo, no texto 'a5 b', \d corresponde a 5, \w corresponde a a, 5 e b, e \s corresponde ao espaço entre eles. Estas três classes abreviadas cobrem a grande maioria dos padrões regex do dia a dia.

O que são âncoras de regex?

As âncoras correspondem a uma posição em vez de um carácter. ^ corresponde ao início da string (ou de cada linha com a flag m), $ corresponde ao fim, \b corresponde a uma fronteira de palavra e \B corresponde a uma não-fronteira. Por exemplo, ^\d+$ corresponde a uma string composta apenas por dígitos, e \bcat\b corresponde à palavra 'cat' mas não ao 'cat' dentro de 'category'. As âncoras são frequentemente confundidas com correspondentes de caracteres — correspondem a posições no texto, não a caracteres específicos.

O que são quantificadores em regex?

Os quantificadores indicam quantas vezes o token anterior pode repetir: * é zero ou mais, + é um ou mais, ? é zero ou um (opcional), {n} é exatamente n, {n,} é n ou mais, e {n,m} é entre n e m. São greedy por predefinição (correspondem ao máximo possível); adicione um ? para os tornar lazy. Por exemplo \d{1,3} corresponde a 1 a 3 dígitos, e o lazy .+? corresponde ao mínimo possível. Os quantificadores lazy são essenciais para fazer corresponder tags HTML ou strings entre aspas.

O que são grupos e grupos de captura?

Os parênteses (…) criam um grupo de captura que pode extrair ou reutilizar — (\d{4})-(\d{2}) captura o ano no grupo 1 e o mês no grupo 2 de '2024-06'. Use (?:…) para um grupo não-capturante quando apenas precisa de agrupar para um quantificador, e (?<name>…) para um grupo nomeado como (?<year>\d{4}). Uma retrorreferência como \1 volta a corresponder ao que o grupo 1 capturou, por isso (\w)\1 encontra uma letra duplicada — o 'll' em 'hello'.

O que é um lookahead e lookbehind?

Os lookarounds afirmam que o texto está (ou não está) junto à sua correspondência sem o consumir. (?=…) é um lookahead positivo, (?!…) um lookahead negativo, (?<=…) um lookbehind positivo e (?<!…) um lookbehind negativo. Por exemplo, \d+(?=px) corresponde ao 5 em '5px' mas deixa de fora o 'px', e (?<=\$)\d+ corresponde ao 9 em '$9' ao exigir um sinal de dólar precedente. Os lookarounds são uma das funcionalidades que distingue os motores de regex modernos do POSIX grep.

O que são as flags de regex?

As flags alteram como o padrão completo é aplicado: g (global) encontra todas as correspondências, i torna-o insensível a maiúsculas, m (multiline) faz com que ^ e $ correspondam a cada linha, s (dotall) permite que . corresponda a novas linhas, u ativa Unicode completo e y (sticky) ancora a correspondência numa posição fixa. Em JavaScript adiciona-as após a barra de fecho, por isso /cat/gi corresponde a 'Cat' e 'CAT' em todo o texto. O testador nesta página tem botões de alternância para cada flag para que possa ver o seu efeito em tempo real.

Como escrevo um regex para email, número de telefone ou URL?

Padrões práticos de partida: email — [\w.+-]+@[\w-]+\.[\w.-]+ ; URL — https?:\/\/[^\s]+ ; número de telefone português — \+?351?[\s-]?[29][\d]{8}, que corresponde a números no formato nacional e internacional. Estes são pragmáticos, não exaustivos — o standard oficial de email é muito mais complexo — por isso teste-os sempre com os seus dados reais usando o testador ao vivo acima, onde cada um está disponível com um único clique na lista de Padrões comuns.

Como faço escape de caracteres especiais em regex?

Coloque uma barra invertida antes de qualquer metacarácter para o tratar literalmente. Os caracteres que normalmente precisam de escape são . ^ $ * + ? ( ) [ ] { } | \ e /. Por exemplo \. corresponde a um ponto literal e \$ a um sinal de dólar, por isso \d+\.\d{2} corresponde a um preço como 19,99. Dentro de uma classe de caracteres a maioria deles perde o seu significado especial, por isso [.] também corresponde a um ponto literal sem escape.

As variantes de regex diferem entre JavaScript, Python e Java?

A sintaxe central é partilhada, mas os detalhes diferem. O JavaScript nomeia grupos com (?<name>…) enquanto o Python usa (?P<name>…); o Python usa strings brutas como r"\d+" e o Java precisa de barras invertidas duplas em literais de string ("\\d+"). O dotall é a flag s em JS, re.DOTALL em Python e Pattern.DOTALL em Java. A tabela de variantes nesta página resume as diferenças para Python, Java, PCRE e grep para que possa portar um padrão entre linguagens com confiança.

O que é uma expressão regular em Python?

Em Python, as expressões regulares estão no módulo integrado re. Normalmente escreve o padrão como uma string bruta e chama funções como re.search, re.findall ou re.sub — por exemplo re.findall(r"\d+", "a1 b22") devolve ['1', '22']. Os grupos nomeados usam (?P<name>…) e lê-os com match.group('name'). A referência de tokens nesta página aplica-se diretamente ao regex de Python; apenas a API envolvente e alguns nomes de flags diferem do JavaScript.

Como testo um regex?

Use o testador ao vivo no topo desta página: escreva o seu padrão entre as barras, ative as flags de que necessita, e cole uma string de teste. As correspondências destacam-se em tempo real, cada grupo de captura numerado e nomeado é apresentado em baixo, e um padrão inválido mostra uma mensagem de erro em linha em vez de falhar silenciosamente — tudo a correr localmente no seu browser, por isso nada do que colar é enviado para servidores. Ferramentas como regex101.com e regexr.com funcionam de forma semelhante; esta combina a referência e o testador numa só página.

Como se compara ao regex101.com e ao regexr.com?

O regex101.com é o padrão da indústria para depuração profunda de regex — suporta várias variantes (PCRE, Python, Java, .NET, Golang) e fornece uma explicação detalhada de cada token no seu padrão. O regexr.com oferece uma experiência semelhante com uma biblioteca comunitária de padrões. Ambas são excelentes ferramentas dedicadas. Esta tabela de referência do UtiloKit é diferente: combina uma tabela de referência de tokens com um testador ao vivo básico na mesma página, para que possa consultar algo e verificá-lo em segundos sem trocar de separadores. Para trabalho complexo de regex em produção, a comparação de variantes e o depurador detalhado do regex101.com são difíceis de superar; para consultas rápidas durante o desenvolvimento, esta página de referência carrega mais depressa e não requer navegação adicional.

Por que se chama expressão regular?

O nome vem da teoria das linguagens formais. Na década de 1950, o matemático Stephen Kleene descreveu os 'conjuntos regulares' — linguagens que uma máquina de estados finitos simples pode reconhecer — e a notação que usou para eles ficou conhecida como expressão regular. Os motores de regex modernos acrescentam funcionalidades como retrorreferências e lookarounds que vão além das linguagens estritamente 'regulares', mas o nome histórico perdurou.