Expressions régulières en JavaScript avec des exemples pour Node.js

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Expressions régulières en JavaScript : guide complet avec exemples



Les expressions régulières (regexp ou regex) sont un outil puissant pour rechercher, remplacer et valider des données textuelles. En JavaScript, en particulier dans l'environnement Node.js, les expressions régulières sont utilisées partout : du traitement des logs et de l'analyse des URL à la validation des formulaires et au balisage du texte. Dans cet article, nous allons aborder les bases du travail avec les expressions régulières en JavaScript, examiner la syntaxe, les méthodes et fournir des exemples pratiques pour Node.js.



Création d'expressions régulières en JavaScript



En JavaScript, il existe deux façons de créer une expression régulière :



  • Notation littérale — la manière la plus pratique et la plus courante : /pattern/flags.
  • Constructeur RegExp — utilisé lorsque le motif est créé dynamiquement : new RegExp('pattern', 'flags').


Exemples :



// Notation littéraleconst regexLiteral = /hello/i; // drapeau i — ignorer la casse

// Constructeur RegExpconst pattern = 'hello';const regexConstructor = new RegExp(pattern, 'i');

console.log(regexLiteral.test('Hello, world!')); // trueconsole.log(regexConstructor.test('HELLO')); // true


Drapeaux principaux (modificateurs)



  • i — ignorer la casse (case-insensitive).
  • g — recherche globale (recherche toutes les correspondances, pas seulement la première).
  • m — mode multiligne (les ancres ^ et $ fonctionnent pour chaque ligne).
  • s — mode « dotall » (le point . inclut le caractère de nouvelle ligne ).
  • u — prise en charge complète d'Unicode.
  • y — mode « sticky » (recherche à partir de la position actuelle).


Méthodes des expressions régulières en JavaScript



En JavaScript, les expressions régulières fonctionnent avec plusieurs méthodes de chaînes et du RegExp lui-même.



Méthode test()

Vérifie s'il y a une correspondance dans la chaîne. Renvoie true ou false.



const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;console.log(emailRegex.test('user@example.com')); // trueconsole.log(emailRegex.test('invalid-email'));    // false


Méthode exec()

Effectue une recherche et renvoie un tableau avec les résultats ou null. Utile pour extraire des groupes.



const urlRegex = /https?:\\/\\/([^\\/]+)\\/(.*)/;const url = 'https://pythonlib.ru/regular-expressions';const match = urlRegex.exec(url);

if (match) { console.log('Domaine :', match[1]); // pythonlib.ru console.log('Chemin :', match[2]); // regular-expressions}


Méthodes de chaîne fonctionnant avec regexp



  • str.match(regex) — renvoie un tableau de correspondances (ou null).
  • str.matchAll(regex) — renvoie un itérateur de toutes les correspondances (avec les groupes).
  • str.replace(regex, replacement) — remplace les correspondances.
  • str.search(regex) — renvoie l'index de la première correspondance (-1 si aucune).
  • str.split(regex) — divise la chaîne selon une expression régulière.


const text = 'Code : 12345, référence : ABC-6789';

// match — trouver tous les chiffresconst numbers = text.match(/\\d+/g);console.log(numbers); // ['12345', '6789']

// replace — remplacer le tiret par deux-pointsconst cleaned = text.replace(/-/g, ':');console.log(cleaned); // 'Code : 12345, référence : ABC:6789'

// split — diviser par les virgules et les espacesconst parts = text.split(/,\\s*/);console.log(parts); // ['Code : 12345', 'référence : ABC-6789']


Motifs principaux et caractères spéciaux



Pour créer des motifs précis, on utilise des métacaractères et des quantificateurs. Voici les plus importants :



Caractères de base



Blogs

Book Recommendations