La méthode JavaScript String match () renvoie le résultat de la mise en correspondance d'une chaîne avec une expression régulière.
La syntaxe de la match()
méthode est:
str.match(regexp)
Ici, str est une chaîne.
Paramètres match ()
La match()
méthode prend en compte:
- regexp - Un objet d'expression régulière (l'argument est implicitement converti en
RegExp
s'il s'agit d'un non-RegExp
objet)
Remarque: si vous ne donnez aucun paramètre, match()
renvoie ("")
.
Valeur renvoyée par match ()
- Renvoie un
Array
contenant les correspondances, un élément pour chaque correspondance. - Renvoie
null
si aucune correspondance n'est trouvée.
Exemple 1: Utilisation de match ()
const string = "I am learning JavaScript not Java."; const re = /Java/; let result = string.match(re); console.log("Result of matching /Java/ :"); console.log(result); const re1 = /Java/g; let result1 = string.match(re1); console.log("Result of matching /Java/ with g flag:") console.log(result1);
Production
Résultat de la correspondance / Java /: ('Java', index: 14, entrée: 'J'apprends JavaScript et non Java.', Groupes: non défini) Résultat de la correspondance / Java / avec l'indicateur g: ('Java', 'Java' )
Ici, nous pouvons voir que sans utiliser le g
drapeau, nous n'obtenons que la première correspondance, mais avec des informations détaillées telles que l'index, l'entrée et les groupes.
Remarque : si l'expression régulière n'inclut pas l' g
indicateur, str.match()
renvoie uniquement la première correspondance similaire à RegExp.exec()
. L'article retourné aura également les propriétés supplémentaires suivantes:
groups
- Un objet de groupes de capture nommés ayant des clés comme noms et des valeurs en tant que correspondances capturées.index
- L'index de recherche où le résultat a été trouvé.input
- Une copie de la chaîne de recherche.
Exemple 2: mise en correspondance de sections dans une chaîne
const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) const re = /namesiss(a-zA-Z)+./gi; let result = string.match(re); console.log(result); // ( 'name is Albert.', 'NAME is Soyuj.' ) // using named capturing groups const re1 = /namesiss(?(a-zA-Z)+)./i; let found = string.match(re1); console.log(found.groups); // (name: "Albert")
Production
('nom est Albert.', 'NOM est Soyuj.') (nom: "Albert")
Ici, nous avons utilisé une expression régulière pour correspondre à une certaine partie de la chaîne. Nous pouvons également capturer certains groupes dans la correspondance en utilisant la syntaxe indiquée ci-dessus.
Lecture recommandée: JavaScript String matchAll ()