Expressions Régulières en JavaScript

Introduction aux Expressions Régulières

L'objet RegExp est essentiel pour effectuer des opérations de correspondance de chaînes à l'aide d'expressions régulières. Une expression régulière est un modèle constitué de séquences de caractères qui définissent des critères pour rechercher ou manipuler des chaînes de caractères instances au sein d'autres chaînes.

Création d'un Objet RegExp

Il existe deux façons de créer un objet RegExp. La première méthode utilise la notation littérale, où le modèle est délimité par des barres obliques, suivi de toute option de correspondance. La seconde approche implique l'utilisation du constructeur RegExp, où le modèle est le premier argument et les options de correspondance sont le second.

// Notation littérale
let re1 = /foo?/i;

// Constructeur RegExp
let re2 = new RegExp('foo?', 'i');

// Les deux créent un objet RegExp avec un modèle = "foo?" et une option = "i"

Il est important de noter que la notation littérale se compile initialement lorsque l'expression est évaluée. Elle est donc idéale pour les modèles constants, tandis que le constructeur est plus adapté pour les modèles susceptibles de changer au moment de l'exécution, comme ceux provenant d'une entrée utilisateur.

Propriétés de l'Objet RegExp

Certaines propriétés utiles de l'objet RegExp incluent : - .flags : Retourne une chaîne contenant les options de l'objet RegExp. - .global : Indique si l'objet RegExp teste toutes les occurrences dans une chaîne ou seulement la première. - .ignoreCase : Vérifie si la correspondance est sensible à la casse.

Méthodes de l'Objet RegExp

Les méthodes principales incluent : - .exec(str) : Exécute une recherche sur le paramètre de chaîne str. - .test(str) : Vérifie s'il y a une correspondance dans la chaîne str.

Méthodes de Chaîne Utilisant des Objets RegExp

Par exemple, pour un objet RegExp nommé re, on peut utiliser : - .match(re) : Retourne toutes les correspondances d'une chaîne donnée. - .replace(re, substr) : Remplace toutes les occurrences correspondantes par une nouvelle sous-chaîne.

Les Différentes Options (Flags)

Les options, ou flags, influencent le comportement des correspondances d'expressions régulières. Par exemple : - g : Effectue une correspondance globale, cherchant toutes les occurrences plutôt que la première. - i : Effectue une correspondance insensible à la casse.

Utilisation des Classes de Caractères

Les classes de caractères spécifient un type de caractère à correspondre. Par exemple : - . : Correspond à n'importe quel caractère, sauf à ceux qui terminent une ligne. - ** ** : Correspond à un retour à la ligne.

Groupes et Plages

Les groupes permettent de définir des ensembles de caractères. Par exemple : - (x|y) : Correspond soit à x, soit à y. - [abc] : Correspond à l'un des caractères a, b ou c.

Quantificateurs

Les quantificateurs spécifient combien de fois un caractère ou une expression doit correspondre. Par exemple : - x* : Correspond à x zéro ou plusieurs fois.