2014
24/Oct

Expression régulière (ou expression rationnelle)

Définition

Les expressions régulières sont des chaînes de caractères qui permettent, par l’utilisation de caractères spéciaux, de désigner un ensemble de chaînes de caractères. Elles sont utilisées dans de nombreux systèmes informatiques, en particulier dans le domaine du web.

Les variables et opérateurs

Les expressions régulières utilisent les caractères spéciaux suivants (tableau largement inspiré de cette page) :

Quantifieurs et opérateurs

. Correspond à un caractère quelconque : lettre, nombre ou symbole. diction.aire correspond à dictionnaire, dictionaaire, mais pas à dictionaire.
* Correspond à un vide ou à plusieurs caractères identiques à celui précédant le * (par défaut). dico* correspond à dicooooo, dic et dico mais pas à dicodu. On peut utiliser les () pour changer l’expression par défaut. di(co)* correspond à dico, di, dicoco, mais pas à dino.
+ Identique à *, mais avec au moins un caractère identique à celui précédent le + (par défaut). dico+ correspond à dicoooo, dico, mais pas à dic ou dicodu.
? Correspond à zéro ou une fois le caractère précédent le ? di?co correspond à dco et dico
| Correspond à un opérateur OR (ou) k|t correspond à k ou t

Bornes

^ Borne de début de la chaîne ^fr correspond à fr-fr mais pas à ffr (1)
$ Borne de fin de chaîne fr$ correspond à fr-fr mais pas à fr-ch

Regroupements

() Les parenthèse sont utilisées pour créer une chaine et l’utiliser à la place du caractère par défaut. di(co)+ correspond à dico, et dicoco
[] Créer une liste de caractères. [xyz] créé une liste avec les caractères x, y et z à l’intérieur.
Le tiret permet de créer une liste de X vers Y, au sens logique [a-z] créé une liste des caractères de a à z, tout comme [1-10] créé une liste de chiffres de 1 à 10.

Autre

Permet d’utiliser un caractère spécial mentionné ci-dessus en tant que caractère et non en tant que symbole spécial devant être interprété pour créer l’expression régulière. 1min30.com correspondrait à 1min30kcom. En utilisant 1min30.com, on limite la correspondance aux chaines contenant uniquement 1min30.com.

(1) à noter : les expressions régulières sont inclusives par défaut. Ainsi, fr va rechercher toutes les chaines de caractères contenant fr.

Applications au web

Les expressions régulières dans Google Analytics

Il existe de nombreux cas d’usage nécessitant d’utiliser des expressions régulières en webanalytics :

  • Pour effectuer un regroupement de contenus : on va par exemple marquer les pages contenant /category/ dans leur url comme étant des pages de catégories de produits.
  • Pour filtrer le trafic : l’expression régulière ^fr inclura par exemple tous les visiteurs parlant français, incluant les suisses (fr-ch), les canadiens (fr-ca), les belges (fr-be) et les luxembourgeois (fr-lu). Pour ne pas inclure les variantes régionales, on utilisera ^fr$

Les expressions régulières dans les redirections

En terme de développement web, les règles de redirection apache et .htaccess sont réalisées à l’aide d’expressions régulières.

Souvenirs, souvenirs : del *.*

Les plus vieux d’entre nous se souviennent peut-être avec émotion de leurs premiers ébats avec l’un des premiers systèmes d’exploitation grand public installé sur les PC : Microsoft MS-DOS. Sans le savoir, l’utilisateur utilisait alors très fréquemment une forme d’expression régulière : le caractère * (étoile).La commande :

del *.*

permettait ainsi de supprimer l’ensemble des fichiers du répertoire courant. Pas de chance : le * est en réalité interprété de manière différente dans les « vraies » expressions régulières, ce qui est une source de confusion. Reste le principe : un caractère spécial (*) permet de désigner un ensemble de lettres et de chiffres.

Pour aller plus loin, nous vous invitons à découvrir notre agence developpement web et à télécharger notre livre blanc « Les 11 commandements d’un site internet qui convertit vos visiteurs en clients »

Gabriel Dabi-Schwebel

Posté par

Ingénieur de formation j’ai commencé ma carrière dans le conseil en télécom et en média. J’ai aus

Gabriel Dabi-Schwebel

Contact Développement web :

Jérémie Dornbusch

jd@1min30.com
07 85 92 87 77





Commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Dépassez les objectifs de votre investissement Hubspot !
Rejoignez notre communauté et donnez-vous les moyens de réussir