Utilisation des expressions régulières

JavaScript:
Utilisation des expressions régulières

Comment faire :

Correspondance de base

Pour commencer, vous pouvez créer un motif regex simple et l’utiliser pour trouver des correspondances dans une chaîne de caractères. Ici, nous trouverons le mot “code” :

const str = "I love to code in JavaScript.";
const pattern = /code/;
const result = pattern.test(str);
console.log(result); // true

Utiliser String.prototype.match()

Pour récupérer un tableau de correspondances :

const matches = str.match(/code/);
console.log(matches[0]); // "code"
console.log(matches.index); // 10

Recherche globale

Pour trouver toutes les correspondances, utilisez le drapeau g :

const globalMatches = str.match(/o/g);
console.log(globalMatches); // ["o", "o", "o"]

Correspondance sans tenir compte de la casse

Le drapeau i ignore la casse :

const caseInsensitiveMatch = "JavaScript is fun".match(/javascript/i);
console.log(caseInsensitiveMatch[0]); // "JavaScript"

Remplacer du texte

Utilisez String.prototype.replace() pour remplacer des parties de la chaîne :

const newStr = "JavaScript is fun".replace(/fun/, "awesome");
console.log(newStr); // "JavaScript is awesome"

Utilisation de groupes

Les groupes peuvent capturer des parties du motif :

const groupedPattern = /(\w+) is (\w+)/;
const replaceWithGroups = "JavaScript is fun".replace(groupedPattern, "$2 is $1");
console.log(replaceWithGroups); // "fun is JavaScript"

Bibliothèques tierces

Bien que les capacités regex intégrées de JavaScript soient puissantes, certaines tâches pourraient être simplifiées avec des bibliothèques comme XRegExp. Elle offre une syntaxe et des drapeaux supplémentaires, rendant les motifs complexes plus lisibles :

// Exemple de la bibliothèque XRegExp
const XRegExp = require('xregexp');
const str = "Cats are fantastic.";
const unicodeWordMatch = XRegExp.match(str, XRegExp('\\p{L}+'), 'all');
console.log(unicodeWordMatch); // ["Cats", "are", "fantastic"]

Cet extrait démontre l’utilisation de XRegExp pour correspondre à tous les mots Unicode dans une chaîne de caractères, montrant la capacité de la bibliothèque à gérer des ensembles de caractères étendus au-delà des capacités intégrées de JavaScript.