Skip to content

Tokens de Regex explicados

Todos os tokens regex essenciais: âncoras, classes de carateres, quantificadores, grupos e flags. O que cada um significa, com uma correspondência concreta. O companheiro de referência rápida da ferramenta Regex Tester.

Os tokens regex compõem-se: empilhe uma âncora, uma classe de carateres e um quantificador para construir um padrão. ^ fixa o início, \d corresponde a um dígito e {2,4} define quantas vezes. Combine-os como ^\d{2,4}$ para corresponder a uma cadeia inteira de dois a quatro dígitos. Leia um padrão da esquerda para a direita, um token de cada vez. A ferramenta Regex Tester deixa-o experimentar qualquer destes tokens ao vivo com o seu próprio texto.

Tabela de referência · 55 entradasAbrir a ferramenta regex-tester →
55 of 55 rows
Âncoras
Corresponde à posição no início da cadeia, ou ao início de uma linha com a flag m.^He → He
Corresponde à posição no fim da cadeia, ou ao fim de uma linha com a flag m.lo$ → lo
Corresponde a um limite de palavra, a posição entre um caráter de palavra e um não-caráter de palavra.\bcat\b → cat
Corresponde a um não-limite de palavra, a posição entre dois carateres de palavra ou dois não-carateres de palavra.\Bar → ar
Classes de carateres
Corresponde a qualquer caráter único exceto uma quebra de linha, salvo se a flag s estiver ativa.a.c → abc
Corresponde a qualquer dígito, de 0 a 9.\d → 7
Corresponde a qualquer caráter que não seja um dígito.\D → a
Corresponde a qualquer caráter de palavra: uma letra, um dígito ou um underscore.\w → _
Corresponde a qualquer caráter que não seja de palavra.\W → !
Corresponde a qualquer caráter de espaço: um espaço, uma tabulação ou uma quebra de linha.a\sb → a b
Corresponde a qualquer caráter que não seja de espaço.\S → a
Corresponde a qualquer um dos carateres listados dentro dos parênteses retos.[aeiou] → e
Corresponde a qualquer caráter que não seja um dos listados dentro dos parênteses retos.[^aeiou] → s
Corresponde a qualquer caráter único no intervalo dado, de a a z.[a-z] → m
Corresponde a qualquer caráter único incluindo quebra de linha — o idioma comum para um ponto que atravessa linhas.[\s\S] → \n
Corresponde a qualquer letra unicode de qualquer escrita, com a flag u ativa.\p{L} → é
Corresponde a qualquer caráter numérico unicode de qualquer escrita, com a flag u ativa.\p{N} → ٣
Escape: corresponde a um único caráter de nova linha.\n → line feed
Escape: corresponde a um único caráter de tabulação.\t → tab
Escape: corresponde a um único caráter de regresso de carro.\r → carriage return
Corresponde ao caráter com o código hexadecimal de dois dígitos dado.\x41 → A
Corresponde ao caráter com o código de ponto hexadecimal dado, com a flag u ativa.\u{1F600} → 😀
Interseção de classes, com a flag v: corresponde a carateres que estão em ambos os conjuntos ao mesmo tempo.[[a-z]&&[^aeiou]] → t
Quantificadores
Corresponde ao token anterior zero ou mais vezes.ab* → abbb
Corresponde ao token anterior uma ou mais vezes.a+ → aaa
Corresponde ao token anterior zero ou uma vez, tornando-o opcional.colou?r → color
Corresponde ao token anterior exatamente n vezes.a{3} → aaa
Corresponde ao token anterior n ou mais vezes.a{2,} → aaaa
Corresponde ao token anterior entre n e m vezes, inclusive.a{2,4} → aaa
Quantificador preguiçoso: corresponde ao token anterior zero ou mais vezes, capturando o mínimo possível.<.*?> on <a><b> → <a>
Quantificador preguiçoso: corresponde ao token anterior uma ou mais vezes, capturando o mínimo possível.\d+? on 123 → 1
Quantificador preguiçoso: corresponde ao token anterior zero ou uma vez, preferindo zero.ab?? on ab → a
Quantificador preguiçoso: corresponde ao token anterior entre n e m vezes, capturando o mínimo possível.a{1,3}? on aaa → a
Quantificador possessivo (PCRE): corresponde ao token anterior zero ou mais vezes e retém-no, sem nunca retroceder para tentar outras divisões..*+a on aaa → no match
Grupos e alternância
Grupo de captura: corresponde à sequência e memoriza-a para retroreferências.(ab)+ → abab
Grupo de não-captura: corresponde à sequência sem a memorizar.(?:ab)+ → abab
Lookahead positivo: corresponde se os próximos carateres forem abc, sem os consumir.a(?=b) → a
Lookahead negativo: corresponde se os próximos carateres não forem abc, sem os consumir.a(?!b) → a
Retroreferência: corresponde ao texto exato capturado pelo grupo 1.(a)\1 → aa
Alternância: corresponde à expressão antes ou depois da barra vertical.cat|dog → dog
Grupo de captura nomeado: corresponde à sequência e memoriza-a sob o nome dado.(?<year>\d{4}) → year = 2026
Lookbehind positivo: corresponde se os carateres precedentes forem abc, sem os consumir.(?<=a)b → b
Lookbehind negativo: corresponde se os carateres precedentes não forem abc, sem os consumir.(?<!a)b → b
Retroreferência nomeada: corresponde ao texto exato capturado pelo grupo nomeado.(?<w>\w+) \k<w> → the the
Grupo atómico (PCRE): corresponde à sequência uma vez e nunca retrocede para dentro dele.(?>a+)ab on aab → no match
Reinício de ramo (PCRE): alternância em que cada ramo reutiliza os mesmos números de grupo.(?|(cat)|(dog)) → \1 = dog
Flags
Flag global: encontra todas as correspondências na cadeia, não apenas a primeira./a/g on aaa → a, a, a
Flag de insensibilidade a maiúsculas: ignora o caso das letras ao comparar./Hi/i → hi
Flag multilinha: trata ^ e $ como o início e o fim de cada linha./^a/m matches at the start of each line
Flag dotall: deixa o ponto corresponder também a uma quebra de linha./a.b/s → a\nb
Flag unicode: trata o padrão e a entrada como pontos de código unicode./\u{1F600}/u → 😀
Flag sticky: corresponde apenas na posição exata definida por lastIndex./ab/y matches only at lastIndex
Flag de índices: acrescenta ao resultado a posição de início e fim de cada correspondência./b/d on abc → indices [1, 2]
Flag de conjuntos unicode: um u mais estrito que também permite operações de conjuntos dentro de uma classe./[a-z&&[^aeiou]]/v → t
Flag estendida (PCRE): ignora espaços não escapados e comentários # dentro do padrão./a b/x → ab