Este tópico descreve os metacaracteres, as classes de caracteres e os caracteres de escape compatíveis com expressões regulares no MaxCompute SQL. Para obter informações sobre o uso e exemplos do operador RLIKE, consulte RLIKE.
Metacaracteres
Metacaractere | Descrição |
| Corresponde ao início de uma string. |
| Corresponde ao fim de uma string. |
| Corresponde a qualquer caractere único. |
| Corresponde ao caractere ou padrão anterior zero ou mais vezes. |
| Corresponde ao caractere ou padrão anterior uma ou mais vezes. |
|
|
| Corresponde a A ou B. |
| Corresponde à sequência |
|
|
| Corresponde a qualquer caractere listado entre colchetes. |
| Corresponde a qualquer caractere no intervalo de a até d (a, b, c ou d). |
|
|
| Sintaxe de grupo de caracteres POSIX. Consulte . |
| Caractere de escape. |
| Retrorreferência, em que n é um dígito de 1 a 9. |
| Corresponde a qualquer dígito (0–9). |
| Corresponde a qualquer caractere não numérico. |
Exemplos
Para mais exemplos de uso, consulte RLIKE.
Correspondência geral de padrões
-
Correspondência com o início e o fim de uma string
-- Check whether the string aa123bb starts with a. Returns true. SELECT 'aa123bb' RLIKE '^a'; -
Correspondência com qualquer caractere
-- Check whether the string cc123bb starts with any character in the range a to d. Returns true. SELECT 'cc123bb' RLIKE '^[a-d]'; -- Check whether the string 12abc34 starts with 12, ends with 34, and contains at least one character in the range a to d in between. Returns true. SELECT '12abc34' RLIKE '^12[a-d]+34$';
Correspondência de caracteres de escape
O operador RLIKE usa a barra invertida (\) como caractere de escape. Portanto, toda barra invertida (\) em um padrão de expressão regular exige escape duplo.
-
Exemplo 1
Para corresponder à string
a+b, em que+é um caractere especial de regex, aplique escape. No mecanismo de regex, isso se expressa comoa\+b. Como uma camada adicional de escape é obrigatória, a expressão correspondente à string éa\\+b.SELECT 'a+b' RLIKE 'a\\+b'; -- Results: +------+ | _c1 | +------+ | true | +------+ -
Exemplo 2
Se a string contiver um caractere de tabulação (TAB), o sistema armazena
\tcomo um único caractere durante a leitura. Assim, o padrão de regex o trata como um caractere comum.SELECT 'a\tb', 'a\tb' RLIKE 'a\tb'; -- Results: +---------+------+ | _c0 | _c1 | +---------+------+ | a b | true | +---------+------+
Grupos de caracteres
Grupos de caracteres POSIX
|
Grupo de caracteres |
Descrição |
Equivalente |
|
|
|
Letras e dígitos |
|
|
|
|
Letras |
|
|
|
|
Caracteres ASCII |
|
|
|
|
Espaço e tabulação |
|
|
|
|
Caracteres de controle |
|
|
|
|
Dígitos |
|
|
|
|
Caracteres imprimíveis, exceto espaço |
|
|
|
|
Letras minúsculas |
|
|
|
|
|
|
|
|
|
Pontuação |
|
}~-]` |
|
|
Caracteres de espaço em branco |
|
|
|
|
Letras maiúsculas |
|
|
|
|
Dígitos hexadecimais |
|
O MaxCompute não oferece suporte a \f ou \v.
Grupos de caracteres chineses
|
Grupo de caracteres |
Padrão |
|
Caracteres de dois bytes (por exemplo, caracteres chineses) |
|
|
Caracteres chineses |
|
|
Pontuação chinesa |
Os sinais de pontuação chineses não possuem um intervalo de codificação unificado. Pesquise os pontos de código Unicode da pontuação chinesa em um mecanismo de busca e use operadores para excluí-los individualmente. |