Tous les produits
Search
Centre de documentation

MaxCompute:Expressions régulières

Dernière mise à jour :Aug 10, 2026

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 le caractère ou le modèle précédent zéro ou une fois.

  • Placé après un quantificateur (*, +, ?, {n}, {n,} ou {n,m}), il active le mode non gourmand pour ce quantificateur. Le mode non gourmand correspond au nombre minimal de caractères possible ; le mode gourmand par défaut correspond au nombre maximal possible.

A|B

Représente A ou B.

(abc)*

Représente la séquence abc zéro fois ou plus.

{n} ou {m,n}

{n} représente exactement n occurrences. {m,n} représente entre m et n occurrences.

[ab]

Représente n'importe quel caractère figurant entre les crochets.

[a-d]

Représente n'importe quel caractère compris dans la plage allant de a à d (a, b, c ou d).

[^ab]

^ signifie NON. Représente n'importe quel caractère qui n'est ni a ni b.

[::]

Syntaxe des groupes de caractères POSIX. Voir ci-dessous.

\

Caractère d'échappement.

\n

Référence arrière, où n est un chiffre compris entre 1 et 9.

\d

Représente n'importe quel chiffre (0–9).

\D

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 forme a\+b. Une couche d'échappement supplémentaire étant requise, l'expression qui met en correspondance la chaîne est a\\+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 \t en 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

[[:alnum:]]

Lettres et chiffres

[a-zA-Z0-9]

[[:alpha:]]

Lettres

[a-zA-Z]

[[:ascii:]]

Caractères ASCII

[\x00-\x7F]

[[:blank:]]

Espace et tabulation

[ \t]

[[:cntrl:]]

Caractères de contrôle

[\x00-\x1F\x7F]

[[:digit:]]

Chiffres

[0-9]

[[:graph:]]

Caractères imprimables à l'exception de l'espace

[\x21-\x7E]

[[:lower:]]

Lettres minuscules

[a-z]

[[:print:]]

[:graph:] plus espace

[\x20-\x7E]

[[:punct:]]

Ponctuation

[][!"#$%&'()*+,./:;<=>?@\^_{

}~-]`

[[:space:]]

Caractères d'espacement

[ \t\r\n\v\f]

[[:upper:]]

Lettres majuscules

[A-Z]

[[:xdigit:]]

Chiffres hexadécimaux

[A-Fa-f0-9]

Remarque

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)

[^\\\x{00}-\\\x{ff}]

Caractères chinois

[\\x{4e00}-\\x{9fa5}]

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.