Les drapeaux, options ou marqueurs des expressions régulières JavaScript

En plus des métacaractères, nous allons également pouvoir ajouter des caractères d’options à nos masques pour construire nos expressions régulières.

Ces options vont nous permettre de changer le comportement par défaut de nos recherches. On les appelle également parfois « drapeaux » (flags en anglais) ou « marqueurs ».

 

Présentation des options des regex

Les options, encore appelées modificateurs, sont des caractères qui vont nous permettre d’ajouter des options à nos expressions régulières.

Les options ne vont pas à proprement parler nous permet de chercher tel ou tel caractère mais vont agir à un niveau plus élevé en modifiant le comportement par défaut des expressions régulières. Elles vont par exemple nous permettre de rendre une recherche insensible à la casse.

On va pouvoir facilement différencier une option d’un caractère normal ou d’un métacaractère dans une expression régulière puisque les options sont les seuls caractères qui peuvent et doivent obligatoirement être placés en dehors des délimiteurs du masque, après le délimiteur final.

 

Liste des options disponibles et exemples d’utilisation

Certaines options sont complexes dans leur fonctionnement, peu utilisées ou ne sont pas toujours compatibles. Le tableau suivant ne présente que les options toujours disponibles et les plus utiles selon moi.

OptionDescription
gPermet d’effectuer une recherche globale
iRend la recherche insensible à la casse
mPar défaut, les expressions régulières considèrent la chaine dans laquelle on fait une recherche comme étant sur une seule ligne et font qu’on ne peut donc utiliser les métacaractères ^ et $ qu’une seule fois. L’option m permet de tenir compte des caractères de retour à la ligne et de retour chariot et fait que ^ et $ vont pouvoir être utilisés pour chercher un début et une fin de ligne
sCette option permet au métacaractère . de remplacer n’importe quel caractère y compris un caractère de nouvelle ligne

Voyons immédiatement comment utiliser ces options en pratique. Notez qu’on va tout à fait pouvoir ajouter plusieurs options à un masque.

Code HTML support pour présentation des drapeaux des expressions régulières en JavaScript

Présentation des drapeaux des expressions régulières en JavaScript

Exemple d'utilisation des drapeaux des expressions régulières en JavaScript

See the Pen
Cours JavaScript 9.6.1
by Pierre (@pierregiraud)
on CodePen.

Pour bien comprendre ce code, il faut déjà noter qu’on utilise ici un caractère de nouvelle ligne dans notre chaine (\n).

Notre premier masque nous permet ici de chercher la séquence « pie » en minuscules dans notre chaine. Celle-ci n’est pas trouvée.

Notre deuxième masque utilise cette fois-ci l’option i qui rend la recherche insensible à la casse. Ce masque va donc nous permettre de trouver n’importe quelle séquence « pie » en minuscules ou en majuscules.

Notre troisième masque cherche le caractère « e » en fin de chaine. En effet, comme l’option m n’est pas présente, la regex considèrera que notre chaine est sur une seule ligne.

Notre quatrième masque utilise l’option m qui va changer le comportement par défaut de notre regex qui va alors tenir compte des retours à la ligne (\n) et des retours chariots (\r) dans notre chaine. Ce masque nous permet de cherche le caractère « e » en fin de ligne ou de chaine.

Notre cinquième et dernier masque permet de rechercher n’importe quel caractère dans une chaine.

Laisser un commentaire