Especificações RE2 para mapas de URLs
Esta página descreve os requisitos e as limitações associados à utilização da sintaxe RE2 para expressões regulares nos
seus mapas de URLs.
O RE2 tem as seguintes limitações incorporadas:
- O RE2 não suporta asserções lookahead ou lookbehind arbitrárias, nem referências anteriores. Especificamente, os seguintes operadores de referência anterior
não são suportados:
(?=) - positive lookahead
(?!) - negative lookahead
(?<=) - positive lookbehind
(?<!) – negative lookbehind
\N- Referência anterior em que N é um número inteiro
- O RE2 não reconhece
\cx como o caráter Control-X.
- O RE2 não reconhece os operadores de agrupamento atómico
(?>...) e ++
- O RE2 não reconhece
\C, \G nem \X.
- O RE2 não reconhece subpadrões condicionais
(?(...)...), comentários
(?#...), referências de padrões (?R) (?1) (?P>foo) nem chamadas C (?C...).
Além das limitações do RE2 descritas anteriormente, aplicamos mais restrições à sintaxe de expressões regulares através da seguinte lista de autorizações:
- São permitidos operadores de um único caráter
- Os grupos só podem ter operadores de submatch
- Só são permitidos grupos sem repetições
- A repetição de carateres só é permitida numa única expressão regular juntamente com o seguinte:
- Os intervalos só podem ter o seguinte:
String vazia e análogos de strings vazias
| Operador |
Descrição |
^ |
No início do texto ou da linha (m=true) |
$ |
No final do texto (como \z e não \Z) ou da linha (m=true) |
\A |
No início do texto |
\b |
No limite de palavras ASCII (\w de um lado e \W, \A ou \z do outro) |
\B |
Não está no limite da palavra ASCII |
\g |
No início do subtexto que está a ser pesquisado |
\G |
No final da última partida |
\z |
No fim do texto |
Repetições
| Operador |
Descrição |
x* |
Zero ou mais x, preferencialmente mais |
x+ |
Um ou mais x, preferencialmente mais |
x? |
Zero ou um x, preferir um |
x{n,m} |
N ou n+1 ou … ou m x, preferir mais |
x{n,} |
N ou mais x, prefiro mais |
x{n} |
Exatamente n x |
x*? |
Zero ou mais x, preferir menos |
x+? |
Um ou mais x, prefira menos |
x?? |
Zero ou um x, preferir zero |
x{n,m}? |
N ou n+1 ou … ou m x, prefira menos |
x{n,}? |
N ou mais x, prefiro menos |
x{n}? |
Exatamente n x |
Submatch
| Operador |
Descrição |
(re) |
Grupo de captura numerado (subcorrespondência) |
(?P<name>re) |
Grupo de captura numerado e com nome (subcorrespondência) |
(?<name>re) |
Grupo de captura numerado e com nome (subcorrespondência) |
(?:re) |
Grupo não de captura |
(?flags) |
Definir flags no grupo atual; sem captura |
(?flags:re) |
Definir flags durante re; non-capturing |
Intervalos
| Operador |
Descrição |
[] |
Intervalos |
\d |
Dígitos (≡ [0-9]) |
\D |
Não são dígitos (≡ [^0-9]) |
\s |
Espaço em branco (≡ [\t\n\f\r ]) |
\S |
Não é espaço em branco (≡ [^\t\n\f\r ]) |
\w |
Carateres de palavras (≡ [0-9A-Za-z_]) |
\W |
Não são carateres de palavras (≡ [^0-9A-Za-z_]) |
[[:alnum:]] |
Alfanumérico (≡ [0-9A-Za-z]) |
[[:alpha:]] |
Alfabético (≡ [A-Za-z]) |
[[:ascii:]] |
ASCII (≡ [\x00-\x7F]) |
[[:blank:]] |
Em branco (≡ [\t ]) |
[[:cntrl:]] |
Controlo (≡ [\x00-\x1F\x7F]) |
[[:digit:]] |
Dígitos (≡ [0-9]) |
[[:lower:]] |
Minúsculas (≡ [a-z]) |
[[:space:]] |
Espaço em branco (≡ [\t\n\v\f\r ]) |
[[:upper:]] |
Maiúsculas (≡ [A-Z]) |
[[:word:]] |
Carateres de palavras (≡ [0-9A-Za-z_]) |
[[:xdigit:]] |
Dígito hexadecimal (≡ [0-9A-Fa-f]) |
Carateres permitidos em intervalos
| Intervalo de carateres |
Descrição |
0-9, A-Z, a-z |
Alfanumérico |
\x00-\x7F |
ASCII |
0-9A-Fa-f |
Dígitos hexadecimais |
\t\n\v\f\r |
Espaço em branco |
^ |
Negação de intervalo |
!"#$%&'()*+,\-.:;<=>?@[\\\]^_`{|}~ |
Outros carateres |
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-12-05 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-12-05 UTC."],[],[]]