Quantificateurs

Vous utilisez des quantificateurs pour spécifier des répétitions de caractères ou de séquences dans des modèles, comme suit :

Caractère de remplacement de quantificateur

Description

* (étoile)

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

+ (plus)

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

? (point d'interrogation)

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

{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é de 3 à 5 fois.

Vous pouvez appliquer un quantificateur à un seul caractère, à une classe de caractère ou à un groupe :

Vous pouvez utiliser des quantificateurs dans des groupes de parenthèses auxquels sont appliqués des quantificateurs. Par exemple, le quantificateur suivant correspond à des chaînes du type word et word-word-word :

/\w+(-\w+)*/

Par défaut, les expressions régulières effectuent un greedy matching. Tout sous-modèle dans l'expression régulière (.*, par exemple) tente de mettre en correspondance autant de caractères que possible dans la chaîne avant de passer à la partie suivante de l'expression régulière. Par exemple, considérez l'expression régulière et la chaîne suivantes :

var pattern:RegExp = /<p>.*<\/p>/;
str:String = "<p>Paragraph 1</p> <p>Paragraph 2</p>";

L'expression régulière correspond à la chaîne entière :

<p>Paragraph 1</p> <p>Paragraph 2</p>

Supposez, néanmoins, que vous souhaitez établir une correspondance avec un seul groupe <p>...</p>. Vous pouvez procéder comme suit :

<p>Paragraph 1</p>

Ajoutez un point d'interrogation (?) après les quantificateurs pour qu'ils deviennent des quantificateurs paresseux. Par exemple, l'expression régulière suivante, qui utilise le quantificateur paresseux *? , correspond à <p> suivi du nombre minimum de caractères possible (paresseux), suivi de </p>:

/<p>.*?<\/p>/

Lisez attentivement les points suivants concernant les quantificateurs :

Pour plus d'informations, voir L'indicateur s (dotall).


Flash CS3

 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000116.html