Caractères, caractères de remplacement et métaséquences

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

L’expression régulière la plus simple est celle qui correspond à une séquence de caractères, comme dans l’exemple suivant :

var pattern:RegExp = /hello/;

Néanmoins, les caractères suivants, appelés caractères de remplacement , ont des significations spéciales dans des expressions régulières :

^ $ \ . * + ? ( ) [ ] { } |

Par exemple, l’expression régulière suivante correspond à la lettre A suivie par zéro ou plusieurs occurrences de la lettre B (le caractère de remplacement astérisque indique cette répétition), suivie par la lettre C :

/AB*C/

Pour inclure un caractère de remplacement sans sa signification spéciale dans un modèle d’expression régulière, vous devez utiliser le caractère d’échappement ( \ ). Par exemple, l’expression régulière suivante correspond à la lettre A suivie par la lettre B, suivie par un astérisque, suivie par la lettre C :

var pattern:RegExp = /AB\*C/;

Une métaséquence, comme un caractère de remplacement, a une signification spéciale dans une expression régulière. Une métaséquence est constituée de plusieurs caractères. Les sections suivantes fournissent des détails sur l’utilisation des caractères de remplacement et des métaséquences.

A propos des caractères de remplacement

Le tableau suivant répertorie les caractères de remplacement que vous pouvez utiliser dans des expressions régulières :

Caractère de remplacement

Description

^ (caret)

Etablit une correspondance au début d’une chaîne. Lorsque l’indicateur m ( multiline ) est défini, le caret correspond au début d’une ligne également (voir Indicateurs et propriétés ). Lorsqu’il est utilisé au début d’une classe de caractère, le caret indique la négation et non le début d’une chaîne. Pour plus d’informations, voir Classes de caractère .

$ (signe dollar)

Etablit une correspondance à la fin d’une chaîne. Lorsque l’indicateur m ( multiline ) est défini, $ correspond à la position avant une nouvelle ligne ( \n ) également. Pour plus d’informations, voir Indicateurs et propriétés .

\ (caractère d’échappement)

Echappe la signification spéciale du caractère de remplacement des caractères spéciaux.

Vous pouvez également utiliser le caractère d’échappement si vous souhaitez utiliser une barre oblique dans un littéral d’expression régulière, comme dans /1\/2/ (pour correspondre au caractère 1, suivi par la barre oblique, suivi par le caractère 2).

. (point)

Correspond à un seul caractère.

Un point correspond à un caractère de nouvelle ligne ( \n ) uniquement si l’indicateur s ( dotall ) est défini. Pour plus d’informations, voir Indicateurs et propriétés .

* (étoile)

Correspond à l’élément précédent répété zéro ou plusieurs fois.

Pour plus de détails, voir Quantificateurs .

+ (plus)

Correspond à l’élément précédent répété une ou plusieurs fois.

Pour plus de détails, voir Quantificateurs .

? (point d’interrogation)

Correspond à l’élément précédent répété zéro ou une fois.

Pour plus de détails, voir Quantificateurs .

( et )

Définit des groupes dans l’expression régulière. Utilisez des groupes pour :

  • confiner le domaine du permutateur | : /(a|b|c)d/

  • définir le domaine d’un quantificateur : /(walla.){1,2}/

  • dans des backreferences. Par exemple, le \1 dans l’expression régulière suivante correspond à toute correspondance au premier groupe entre parenthèses du modèle :

  • /(\w*) est répété : \1/

Pour plus d’informations, voir Groupes .

[ et ]

Spécifie une classe de caractère qui définit des correspondances possibles pour un seul caractère :

/[aeiou]/ correspond à l’un des caractères spécifiés.

Dans les classes de caractère, utilisez le trait d’union ( - ) pour désigner une plage de caractères :

/[A-Z0-9]/ correspond aux lettres majuscules A à Z ou aux chiffres 0 à 9.

Dans les classes de caractère, insérez un caractère d’échappement pour échapper les caractères ] et

les caractères -:

/[+\-]\d+/ correspond à + ou à - avant un ou plusieurs chiffres.

Dans les classes de caractère, d’autres caractères (qui sont normalement des caractères de remplacement) sont considérés comme des caractères normaux (et non comme des caractères de remplacement), sans qu’une barre oblique inverse soit nécessaire :

/[$]/ £ correspond à $ ou à £.

Pour plus d’informations, voir Classes de caractère .

| (opérateur de transfert de données)

Utilisé pour la permutation, pour correspondre à la partie de gauche ou à celle de droite :

/abc|xyz/ correspond à abc ou à xyz .

A propos des métaséquences

Les métaséquences sont des séquences de caractères ayant une signification spéciale dans un modèle d’expression régulière. Le tableau suivant décrit ces métaséquences :

Métaséquence

Description

{ n }

{ n ,}

et

{ n , n }

Indique un quantificateur numérique ou une plage de quantificateurs pour l’élément précédent :

/A{27}/ correspond au caractère A répété 27 fois.

/A{3}/ correspond au caractère A répété 3 fois ou plus.

/A{3,5}/ correspond au caractère A répété 3 à 5 fois.

Pour plus de détails, voir Quantificateurs .

\b

Etablit une correspondance à la position entre un caractère mot et un caractère non-mot. Si le premier ou le dernier caractère dans la chaîne est un caractère mot, correspond également au début ou à la fin de la chaîne.

\B

Etablit une correspondance à la position entre deux caractères mot. Correspond également à la position entre deux caractères non-mot.

\d

Correspond à une décimale.

\D

Correspond à tout caractère autre qu’un chiffre.

\f

Correspond à un caractère de changement de page.

\n

Correspond au caractère de nouvelle ligne.

\r

Correspond au caractère de retour de chariot.

\s

Correspond à tout caractère d’espace blanc (un espace, une tabulation, une nouvelle ligne ou un caractère de retour de chariot).

\S

Correspond à tout caractère autre qu’un caractère d’espace blanc.

\t

Correspond au caractère de tabulation.

\u nnnn

Correspond au caractère Unicode avec le code de caractère spécifié par le nombre hexadécimal nnnn . Par exemple, \u263a est le caractère smiley.

\v

Correspond à un caractère d’avancement vertical.

\w

Correspond à un caractère mot ( AZ –, az –, 0-9 ou _ ). \w ne correspond pas aux caractères qui ne sont pas anglais tels que é , ñ , ou ç .

\W

Correspond à tout caractère autre qu’un caractère mot.

\\x nn

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