Javascript String-overeenkomst ()

De JavaScript String match () - methode retourneert het resultaat van het matchen van een string met een reguliere expressie.

De syntaxis van de match()methode is:

 str.match(regexp)

Hier is str een string.

match () Parameters

De match()methode omvat:

  • regexp - Een reguliere expressie-object (argument wordt impliciet geconverteerd naar RegExpals het een niet- RegExpobject is)

Opmerking: als u geen parameters opgeeft, match()retourneert ("").

Retourwaarde van match ()

  • Retourneert een Arraymet de overeenkomsten, één item voor elke overeenkomst.
  • Retourneert nullals er geen overeenkomst is gevonden.

Voorbeeld 1: match () gebruiken

 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);

Uitvoer

 Resultaat van matching / Java /: ('Java', index: 14, invoer: 'Ik leer JavaScript, niet Java.', Groups: undefined) Resultaat van matching / Java / met g-vlag: ('Java', 'Java' )

Hier kunnen we zien dat zonder de gvlag te gebruiken, we alleen de eerste overeenkomst als resultaat krijgen, maar met gedetailleerde informatie zoals index, invoer en groepen.

Opmerking : als de reguliere expressie de gvlag niet bevat , str.match()retourneert alleen de eerste overeenkomst vergelijkbaar met RegExp.exec(). Het geretourneerde artikel heeft ook de volgende aanvullende eigenschappen:

  • groups - Een object van benoemde vastleggende groepen met sleutels als de namen en waarden als de vastgelegde overeenkomsten.
  • index - De zoekindex waarin het resultaat is gevonden.
  • input - Een kopie van de zoekterm.

Voorbeeld 2: overeenkomende secties in string

 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")

Uitvoer

 ('naam is Albert.', 'NAAM is Soyuj.') (naam: "Albert")

Hier hebben we een reguliere expressie gebruikt om een ​​bepaald gedeelte van de string te matchen. We kunnen ook bepaalde groepen in de wedstrijd vastleggen met behulp van de syntaxis zoals hierboven weergegeven.

Aanbevolen literatuur: JavaScript String matchAll ()

Interessante artikelen...