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 |