Correspondance de chaîne Javascript ()

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 RegExps'il s'agit d'un non- RegExpobjet)

Remarque: si vous ne donnez aucun paramètre, match()renvoie ("").

Valeur renvoyée par match ()

  • Renvoie un Arraycontenant les correspondances, un élément pour chaque correspondance.
  • Renvoie nullsi 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 gdrapeau, 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' gindicateur, 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 ()

Articles intéressants...