As expressões regulares (conhecidas como regex) usadas em buscas e regras de segmentação são aquelas suportadas pelo Java. Caso você precise de mais informações específicas, consulte o Documentação Java Regex. Veja outras referências e exemplos a seguir.
Note
Este capítulo é orientado para usuários avançados que desejam definir suas próprias variantes de regras de segmentação, ou planejar itens de chave de busca mais complexos.
Table 20. Regex - Marcações
A construção |
... corresponde ao seguinte |
(?i) |
Ativa correspondências que ignoram maiúsculas e minúsculas (por predefinição, o padrão faz a distinção entre maiúsculas e minúsculas). |
Table 21. Regex - Caractere
A construção |
... corresponde ao seguinte |
x |
O caractere x, exceto o seguinte... |
\uhhhh |
O caractere com valor hexadecimal 0xhhhh |
\t |
O caractere de tabulação ('\u0009') |
\n |
O caractere de nova linha (alimentação de linha) ('\u000A') |
\r |
O caractere de retornar ao início da linha ('\u000D') |
\f |
O caractere de alimentar formulário ('\u000C') |
\a |
O caractere de alerta (sino) ('\u0007') |
\e |
O caractere escape ('\u001B') |
\cx |
O caractere de controle corresponde ao x |
\0n |
O caractere com valor octal 0n (0 <= n <= 7) |
\0nn |
O caractere com valor octal 0nn (0 <= n <= 7) |
\0mnn |
O caractere com valor octal 0mnn (0 <= m <= 3, 0 <= n <= 7) |
\xhh |
O caractere com valor hexadecimal 0xhh |
Table 22. Regex - Citação
A construção |
... corresponde ao seguinte |
\ |
Nothing, but quotes the following character. Isso é necessário se você quiser inserir quaisquer metacaracteres !$()*+.<>?[ \\ ]^{|} para casar como eles próprios. |
\\ |
Por exemplo, este é um caractere de barra invertida |
\Q |
Nada, mas escapa todos os caracteres até \E |
\E |
Nada, mas finaliza o escape iniciado pelo \Q |
Table 23. Regex - Classes para blocos e categorias do Unicode
A construção |
... corresponde ao seguinte |
\p{InGreek} |
Um caractere no bloco Grego (bloco único) |
\p{Lu} |
Uma letra maiúscula (categoria única) |
\p{Sc} |
Um símbolo de moeda |
\P{InGreek} |
Qualquer caractere, exceto um no bloco Grego (negação) |
[\p{L}&&[^\p{Lu}]] |
Qualquer letra, exceto letra maiúscula (subtração) |
Table 24. Regex - Classes de caracteres
A construção |
... corresponde ao seguinte |
[abc] |
a, b, ou c (classe simples) |
[^abc] |
Qualquer caractere exceto a, b, ou c (negação) |
[a-zA-Z] |
a até z ou A até Z, inclusive (intervalo) |
Table 25. Regex - Classes de caracteres predefinidos
A construção |
... corresponde ao seguinte |
. |
Qualquer caractere (exceto para fim de linha) |
\d |
Um dígito: [0-9] |
\D |
Um caractere que não seja dígito: [^0-9] |
\s |
Um caractere de espaço em branco: [ \t\n\x0B\f\r] |
\S |
Um caractere que não seja de espaço em branco: [^\s] |
\w |
Um caractere de palavra: [a-zA-Z_0-9] |
\W |
Um caractere que não seja de palavra: [^\w] |
Table 26. Regex - Correspondentes de limite (borda)
A construção |
... corresponde ao seguinte |
^ |
O início de uma linha |
$ |
O final de uma linha |
\b |
Limite de uma palavra |
\B |
Limite que não seja de palavra |
Table 27. Regex - Quantificadores gulosos
A construção |
... corresponde ao seguinte |
X
?
|
X, uma única vez ou nenhuma |
X
*
|
X, zero ou mais vezes |
X
+
|
X, uma ou mais vezes |
Note
os quantificadores gulosos farão o maior número de correspondências possíveis. Por exemplo,
a+?
casará aaa em
aaabbb
Table 28. Regex - Quantificadores não-gulosos
A construção |
... corresponde ao seguinte |
X?? |
X, uma única vez ou nenhuma |
X*? |
X, zero ou mais vezes |
X+? |
X, uma ou mais vezes |
Note
os quantificadores não gulosos farão o menor número de correspondências possíveis. Por exemplo,
a+?
casará o primeiro
a
em
aaabbb
Table 29. Regex - Operadores lógicos
A construção |
... corresponde ao seguinte |
XY |
X seguido por Y |
X|Y |
Ou X ou Y |
(XY) |
XY como um grupo único |