Javascript-merkkijono matchAll ()

JavaScript String matchAll () -menetelmä palauttaa merkkijonon säännöllisen lausekkeen vastaavuuden tulosten iteraattorin.

Menetelmän syntaksi matchAll()on:

 str.matchAll(regexp)

Tässä stron merkkijono.

matchAll () -parametrit

matchAll()Menetelmä vie:

  • regexp - Säännöllisen lausekkeen objekti (Argumentti muunnetaan implisiittisesti, RegExpjos se ei ole RegExpobjekti)

Huomaa: Jos RegExpesineellä ei ole /glippua, TypeErrorheitetään a.

Palautusarvo matchAllista ()

  • Palauttaa iteraattorin, joka sisältää ottelut, mukaan lukien sieppaavat ryhmät.

Huomaa : Palautetulla iteraattorin kullakin tuotteella on seuraavat lisäominaisuudet:

  • groups - Nimettyjen sieppausryhmien objekti, jonka avaimet ovat niminä ja arvot siepattujen otteluiden mukaisesti.
  • index - Hakuhakemisto, josta tulos löytyi.
  • input - Kopio hakumerkkijonosta.

Esimerkki 1: matchAll (): n käyttö

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

Tuotos

 ('JavaScript', hakemisto: 14, input: 'Oppin JavaScriptiä ei Java.', Ryhmät: määrittelemätön) ('Java', hakemisto: 29, input: 'Oppin JavaScriptiä ei Java.', Ryhmät: määrittelemätön)

Tässä palautettu iteraattori toistetaan for… ofsilmukan avulla.

Esimerkki 2: MatchAllin käyttäminen ryhmien sieppaamiseen

 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'))`) )

Tuotos

Löydetty "nimi on Albert". hakemistossa 3. Siepattu nimi = Albert Löydetty "NAME on Soyuj." indeksissä 24. Siepattu nimi = Soyuj

Tässä olemme käyttäneet säännöllistä lauseketta vastaamaan tiettyä merkkijonoa. Voimme kaapata tiettyjä ryhmiä otteluun käyttämällä matchAll()paremmin kuin match().

Suositeltava lukeminen: JavaScript-merkkijono-osuma ()

Mielenkiintoisia artikkeleita...