Â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 ⤢ \bCorresponde 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 ⤢ \BCorresponde 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 ⤢ \dCorresponde a qualquer dígito, de 0 a 9. \d → 7 ⤢ \DCorresponde a qualquer caráter que não seja um dígito. \D → a ⤢ \wCorresponde a qualquer caráter de palavra: uma letra, um dígito ou um underscore. \w → _ ⤢ \WCorresponde a qualquer caráter que não seja de palavra. \W → ! ⤢ \sCorresponde a qualquer caráter de espaço: um espaço, uma tabulação ou uma quebra de linha. a\sb → a b ⤢ \SCorresponde a qualquer caráter que não seja de espaço. \S → a ⤢ [abc]Corresponde a qualquer um dos carateres listados dentro dos parênteses retos. [aeiou] → e ⤢ [^abc]Corresponde a qualquer caráter que não seja um dos listados dentro dos parênteses retos. [^aeiou] → s ⤢ [a-z]Corresponde a qualquer caráter único no intervalo dado, de a a z. [a-z] → m ⤢ [\s\S]Corresponde a qualquer caráter único incluindo quebra de linha — o idioma comum para um ponto que atravessa linhas. [\s\S] → \n ⤢ \p{L}Corresponde a qualquer letra unicode de qualquer escrita, com a flag u ativa. \p{L} → é ⤢ \p{N}Corresponde a qualquer caráter numérico unicode de qualquer escrita, com a flag u ativa. \p{N} → ٣ ⤢ \nEscape: corresponde a um único caráter de nova linha. \n → line feed ⤢ \tEscape: corresponde a um único caráter de tabulação. \t → tab ⤢ \rEscape: corresponde a um único caráter de regresso de carro. \r → carriage return ⤢ \xhhCorresponde ao caráter com o código hexadecimal de dois dígitos dado. \x41 → A ⤢ \u{hhhh}Corresponde ao caráter com o código de ponto hexadecimal dado, com a flag u ativa. \u{1F600} → 😀 ⤢ [[a-z]&&[^aeiou]]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 ⤢ {n}Corresponde ao token anterior exatamente n vezes. a{3} → aaa ⤢ {n,}Corresponde ao token anterior n ou mais vezes. a{2,} → aaaa ⤢ {n,m}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 ⤢ {n,m}?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 ⤢ (abc)Grupo de captura: corresponde à sequência e memoriza-a para retroreferências. (ab)+ → abab ⤢ (?:abc)Grupo de não-captura: corresponde à sequência sem a memorizar. (?:ab)+ → abab ⤢ (?=abc)Lookahead positivo: corresponde se os próximos carateres forem abc, sem os consumir. a(?=b) → a ⤢ (?!abc)Lookahead negativo: corresponde se os próximos carateres não forem abc, sem os consumir. a(?!b) → a ⤢ \1Retroreferência: corresponde ao texto exato capturado pelo grupo 1. (a)\1 → aa ⤢ a|bAlternância: corresponde à expressão antes ou depois da barra vertical. cat|dog → dog ⤢ (?<name>abc)Grupo de captura nomeado: corresponde à sequência e memoriza-a sob o nome dado. (?<year>\d{4}) → year = 2026 ⤢ (?<=abc)Lookbehind positivo: corresponde se os carateres precedentes forem abc, sem os consumir. (?<=a)b → b ⤢ (?<!abc)Lookbehind negativo: corresponde se os carateres precedentes não forem abc, sem os consumir. (?<!a)b → b ⤢ \k<name>Retroreferência nomeada: corresponde ao texto exato capturado pelo grupo nomeado. (?<w>\w+) \k<w> → the the ⤢ (?>abc)Grupo atómico (PCRE): corresponde à sequência uma vez e nunca retrocede para dentro dele. (?>a+)ab on aab → no match ⤢ (?|a|b)Reinício de ramo (PCRE): alternância em que cada ramo reutiliza os mesmos números de grupo. (?|(cat)|(dog)) → \1 = dog Flags ⤢ gFlag global: encontra todas as correspondências na cadeia, não apenas a primeira. /a/g on aaa → a, a, a ⤢ iFlag de insensibilidade a maiúsculas: ignora o caso das letras ao comparar. /Hi/i → hi ⤢ mFlag multilinha: trata ^ e $ como o início e o fim de cada linha. /^a/m matches at the start of each line ⤢ sFlag dotall: deixa o ponto corresponder também a uma quebra de linha. /a.b/s → a\nb ⤢ uFlag unicode: trata o padrão e a entrada como pontos de código unicode. /\u{1F600}/u → 😀 ⤢ yFlag sticky: corresponde apenas na posição exata definida por lastIndex. /ab/y matches only at lastIndex ⤢ dFlag de índices: acrescenta ao resultado a posição de início e fim de cada correspondência. /b/d on abc → indices [1, 2] ⤢ vFlag de conjuntos unicode: um u mais estrito que também permite operações de conjuntos dentro de uma classe. /[a-z&&[^aeiou]]/v → t ⤢ xFlag estendida (PCRE): ignora espaços não escapados e comentários # dentro do padrão. /a b/x → ab