REGEX … ? Focus sur les expressions rationnelles

Issues des théories mathématiques pour décrire des langages formels, les REGEX (de l'anglais regular expression) ou expressions rationnelles, permettent aujourd’hui de construire les plus puissants algorithmes de filtrage à partir d’une seule expression.

REGEX

Petite présentation des REGEX et de leurs utilités.

Exemple de regex

Vous avez sûrement déjà croisé ce genre de lignes de codes !? Un peu barbares de prime abord, elles se révèlent d’une efficacité redoutable et surtout d’une utilité indispensable.

Ne vous êtes vous jamais demandé comment une page web (ou plus précisément le serveur) peut savoir que l’on a bien rentré ou non une adresse mail ou une date de naissance dans le champ correspondant lors de l’envoi d’un formulaire d’inscription par exemple.

Et bien comme vous vous en doutez surement, c’est bien là qu’interviennent les REGEX. Elles permettent de filtrer ce que l’on souhaite à l’intérieur d’une chaîne de caractères.

Et ce n’est là qu’un exemple d’applications parmi tant d’autres, comme le fait d’extraire des parties bien précises d’une chaîne de caractère ou de rendre les mails et toute autre url automatiquement cliquable lors de l’ajout de commentaires par vos visiteurs. Vous pouvez également modifier un texte complet de cette manière.

Là encore, la liste est non exhaustive et les champs d’application quasi infinis.

De plus, les regex peuvent s’utiliser aussi bien en PHP qu’en Javascript et également en Python.

Sans rentrer dans les détails, puisque il faudrait y consacrer un dossier entier, je vais vous montrer comment fonctionnent ces expressions.

Une expression peut être décomposée en deux parties

  • La première, qui est tout simplement le motif, est toujours ‘entourée’ par un même symbole. On utilise Généralement la barre oblique « / ». Cela permet de savoir où commence et se termine ce motif. C’est ici que l’on rentre tous les symboles qui permettront de filtrer notre recherche.
  • La seconde partie concerne les options (ou flags en anglais). Rajouter un « i » permet par exemple de signifier que le filtre est insensible à la casse.
exemple d'une option
Regex avec option

C’est bien beau tout ça me direz vous mais comment fait on pour lui dire dans quelle chaîne de caractères chercher !

C’est très simple il vous suffit d’écrire directement la chaîne de caractères à la suite des motifs, séparés par une virgule, ou comme dans l’exemple du dessous de mettre la variable contenant cette chaîne de caractères.

pregmatch
Appel d’une expression rationnelle

Pour les plus curieux d’entre vous, je vous conseille le très simple mais néanmoins très efficace site RegExr qui vous permettra de vous entraîner ou tout simplement tester la puissance de ces expressions très rapidement sans avoir besoin de créer vos propres fichiers.

En espérant avoir fait lumière sur le potentiel que représentent les expressions rationnelles n’hésitez pas à commenter cet article afin de l’améliorer du mieux que possible.

La science n’étant pas infuse, voici mes sources : expreg.com, open Classroom, le livre Développer un site web en PHP, MySQL de Robin Nixon.

Mis à jour20 janvier 2024 Nb de vues 5447 Commentaires 2

En vous inscrivant à notre newsletter, vous acceptez que vos données soient utilisées comme mentionné dans notre Politique de confidentialité

Discussion

  1. Merci d'avoir posté cette article! Je suis votre site depuis longtemps mais je n'avais jamais songé à laisser un commentaire.Je me suis inscrit à votre blog et j'ai partager votre article sur mon compte Facebook. Merci encore pour ce post! Il est très bien écrit et l'information est complète :-)

  2. Merci pour votre commentaire et n'hésitez à nous envoyer un message avec votre offre, nous hébergeons des sites pour des clients sur le continent américain depuis la France.

Je commente

Je note

Cet article est noté 5/5 par 3 de nos lecteurs

ALLER EN HAUT Demander un devis