Classes de caractère

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Vous utilisez des classes de caractère pour spécifier une liste de caractères devant correspondre à une position dans l’expression régulière. Vous définissez des classes de caractère avec des crochets ( [ et ] ). Par exemple, l’expression régulière suivante définit une classe de caractère qui remplace bag , beg , big , bog ou bug :

/b[aeiou]g/

Séquences d’échappement dans des classes de caractère

La plupart des caractères de remplacement et des métaséquences ayant normalement des significations spéciales dans une expression régulière n’ont pas ces mêmes significations dans une classe de caractère. Par exemple, dans une expression régulière, l’astérisque est utilisé pour la répétition, mais ce n’est pas le cas lorsqu’il apparaît dans une classe de caractère. La classe de caractère suivante correspond à l’astérisque de façon littérale, avec tout autre caractère répertorié :

/[abc*123]/

Cependant, les trois caractères répertoriés dans le tableau suivant fonctionnent comme des caractères de remplacement, avec une signification spéciale, dans des classes de caractère :

Caractère de remplacement

Signification dans des classes de caractère

]

Définit la fin de la classe de caractère.

-

Définit une plage de caractères (voir la section suivante, " Plages de caractères dans des classes de caractère ”).

\

Définit des métaséquences et annule la signification spéciale des caractères de remplacement.

Pour que ces caractères soient reconnus comme caractères littéraux (dans la signification du caractère de remplacement spéciale), vous devez faire précéder le caractère du caractère d’échappement. Par exemple, l’expression régulière suivante inclut une classe de caractère qui correspond à l’un des quatre symboles ( $ , \ , ] ou - ) :

/[$\\\]\-]/

Outre les caractères de remplacement qui conservent leurs significations spéciales, les métaséquences suivantes fonctionnent comme des métaséquences dans des classes de caractère :

Métaséquence

Signification dans des classes de caractère

\n

Correspond à un caractère de nouvelle ligne.

\r

Correspond à un caractère de retour de chariot.

\t

Correspond à un caractère de tabulation.

\u nnnn

Correspond au caractère avec la valeur de point de code Unicode spécifiée (comme défini par le nombre hexadécimal nnnn ).

\\x nn

Correspond au caractère avec la valeur ASCII spécifiée (comme défini par le nombre hexadécimal nn ).

D’autres caractères de remplacement et métaséquences d’expression régulière sont considérés comme des caractères normaux dans une classe de caractère.

Plages de caractères dans des classes de caractère

Utilisez le trait d’union pour spécifier une plage de caractères telle que A-Z , a-z , ou 0-9 . Ces caractères doivent constituer une plage valide dans le jeu de caractères. Par exemple, la classe de caractère suivante correspond à un caractère compris dans la plage a-z ou un chiffre :

/[a-z0-9]/

Vous pouvez également utiliser le code de caractère ASCII \\x nn pour spécifier une plage par valeur ASCII. Par exemple, la classe de caractère suivante correspond à un caractère d’un jeu de caractères ASCII étendus ( é et ê , par exemple) :

\\x

Classes de caractère niées

Lorsque vous utilisez un caret ( ^ ) au début d’une classe de caractère, il la nie (tout caractère non répertorié est considéré comme une correspondance). La classe de caractère suivante correspond à tout caractère sauf une lettre minuscule ( az –) ou un chiffre :

/[^a-z0-9]/

Vous devez taper le caret ( ^ ) au début d’une classe de caractère pour indiquer la négation. Autrement, vous ajoutez simplement le caret aux caractères dans la classe de caractère. Par exemple, la classe de caractère suivante correspond à un symbole (le caret, notamment) :

/[!.,#+*%$&^]/