Cette rubrique décrit les métacaractères, les classes de caractères et les caractères d'échappement pris en charge par les expressions régulières dans MaxCompute SQL. Pour plus d'informations sur l'utilisation et des exemples de l'opérateur RLIKE, consultez la section RLIKE.
Métacaractères
Métacaractère | Description |
| Représente le début d'une chaîne. |
| Représente la fin d'une chaîne. |
| Représente n'importe quel caractère unique. |
| Représente le caractère ou le modèle précédent zéro fois ou plus. |
| Représente le caractère ou le modèle précédent une fois ou plus. |
|
|
| Représente A ou B. |
| Représente la séquence |
|
|
| Représente n'importe quel caractère figurant entre les crochets. |
| Représente n'importe quel caractère compris dans la plage allant de a à d (a, b, c ou d). |
|
|
| Syntaxe des groupes de caractères POSIX. Voir ci-dessous. |
| Caractère d'échappement. |
| Référence arrière, où n est un chiffre compris entre 1 et 9. |
| Représente n'importe quel chiffre (0–9). |
| Représente n'importe quel caractère non numérique. |
Exemples
Pour davantage d'exemples d'utilisation, consultez la section RLIKE.
Mise en correspondance générale de modèles
-
Mise en correspondance du début et de la fin d'une chaîne
-- Check whether the string aa123bb starts with a. Returns true. SELECT 'aa123bb' RLIKE '^a'; -
Mise en correspondance de n'importe quel caractère
-- 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$';
Mise en correspondance des caractères d'échappement
L'opérateur RLIKE utilise une barre oblique inverse (\) comme caractère d'échappement. Par conséquent, toute barre oblique inverse (\) apparaissant dans un modèle d'expression régulière doit être échappée deux fois.
-
Exemple 1
Pour mettre en correspondance la chaîne
a+b, où+est un caractère spécial d'expression régulière, celui-ci doit être échappé. Dans le moteur d'expressions régulières, cela s'exprime sous la formea\+b. Une couche d'échappement supplémentaire étant requise, l'expression qui met en correspondance la chaîne esta\\+b.SELECT 'a+b' RLIKE 'a\\+b'; -- Results: +------+ | _c1 | +------+ | true | +------+ -
Exemple 2
Si la chaîne contient un caractère de tabulation (TAB), le système stocke
\ten tant que caractère unique lors de la lecture. Par conséquent, dans le modèle d'expression régulière, il est traité comme un caractère standard.SELECT 'a\tb', 'a\tb' RLIKE 'a\tb'; -- Results: +---------+------+ | _c0 | _c1 | +---------+------+ | a b | true | +---------+------+
Groupes de caractères
Groupes de caractères POSIX
|
Groupe de caractères |
Description |
Équivalent |
|
|
|
Lettres et chiffres |
|
|
|
|
Lettres |
|
|
|
|
Caractères ASCII |
|
|
|
|
Espace et tabulation |
|
|
|
|
Caractères de contrôle |
|
|
|
|
Chiffres |
|
|
|
|
Caractères imprimables à l'exception de l'espace |
|
|
|
|
Lettres minuscules |
|
|
|
|
|
|
|
|
|
Ponctuation |
|
}~-]` |
|
|
Caractères d'espacement |
|
|
|
|
Lettres majuscules |
|
|
|
|
Chiffres hexadécimaux |
|
MaxCompute ne prend pas en charge \f ni \v.
Groupes de caractères chinois
|
Groupe de caractères |
Modèle |
|
Caractères double-octet (par exemple, caractères chinois) |
|
|
Caractères chinois |
|
|
Ponctuation chinoise |
Les signes de ponctuation chinois ne possèdent pas de plage d'encodage unifiée. Recherchez les points de code Unicode des signes de ponctuation chinois via un moteur de recherche, puis utilisez des opérateurs pour les exclure un par un. |