Chaîne Javascript matchAll ()

La méthode JavaScript String matchAll () renvoie un itérateur des résultats de la mise en correspondance d'une chaîne avec une expression régulière.

La syntaxe de la matchAll()méthode est:

 str.matchAll(regexp)

Voici strune chaîne.

Paramètres matchAll ()

La matchAll()méthode prend en compte:

  • regexp - Un objet d'expression régulière (l'argument est implicitement converti en RegExps'il s'agit d'un non- RegExpobjet)

Remarque: Si l' RegExpobjet n'a pas le /gdrapeau, un TypeErrorsera lancé.

Valeur renvoyée par matchAll ()

  • Renvoie un itérateur contenant les correspondances, y compris les groupes de capture.

Remarque : chaque élément de l'itérateur renvoyé aura 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 1: Utilisation de matchAll ()

 const string = "I am learning JavaScript not Java."; const re = /Java(a-z)*/gi; let result = string.matchAll(re); for (match of result) ( console.log(match); )

Production

 ('JavaScript', index: 14, entrée: 'J'apprends JavaScript pas Java.', Groupes: undefined) ('Java', index: 29, entrée: 'J'apprends JavaScript et non Java.', Groupes: undefined)

Ici, l'itérateur renvoyé est itéré en utilisant la for… ofboucle.

Exemple 2: Utilisation de matchAll pour capturer des groupes

 const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) // using named capturing groups const re = /namesiss(?(a-zA-Z)+)./gi; let found = string.matchAll(re); for (const match of found)( console.log(`Found "$(match(0))" at index $(match.index). Captured name = $(match.groups('name'))`) )

Production

Trouvé "nom est Albert." à l'index 3. Captured name = Albert Trouvé "NAME is Soyuj." à l'index 24. Nom capturé = Soyuj

Ici, nous avons utilisé une expression régulière pour correspondre à une certaine partie de la chaîne. Nous pouvons capturer certains groupes dans le match en utilisant matchAll()mieux que match().

Lecture recommandée: correspondance de chaîne JavaScript ()

Articles intéressants...