Meetod JavaScripti string matchAll () tagastab stringi tavaväljendiga sobitamise tulemuste iteraatori.
Meetodi süntaks matchAll()
on:
str.matchAll(regexp)
Siin str
on string.
matchAll () parameetrid
matchAll()
Meetod võtab:
- regexp - regulaaravaldise objekt (argument teisendatakse kaudselt,
RegExp
kui see on mitteobjektRegExp
)
Märkus. Kui RegExp
objektil pole /g
lippu, TypeError
visatakse tähis .
Tagastab väärtusest matchAll ()
- Tagastab iteraatori, mis sisaldab vasteid koos hõiverühmadega.
Märkus . Tagastatud iteraatori igal üksusel on järgmised täiendavad omadused:
groups
- nimega hõivamisrühmade objekt, mille võtmete nimed ja väärtused on hõivatud vastedindex
- Otsingu register, kust tulemus leiti.input
- otsingu stringi koopia.
Näide 1: matchAll () kasutamine
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); )
Väljund
('JavaScript', indeks: 14, sisend: 'Ma õpin JavaScripti, mitte Java-d.', Rühmad: määratlemata) ('Java', indeks: 29, sisend: 'Ma õpin JavaScripti, mitte Java-d.', Rühmad: määratlemata)
Siin itereeritakse tagastatud iteraator for… of
silmusega.
Näide 2: matchAll-i kasutamine rühmade hõivamiseks
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'))`) )
Väljund
Leitud "nimi on Albert". indeksis 3. Püütud nimi = Albert Leiti "NAME is Soyuj". indeksis 24. Püütud nimi = Sojuj
Siin oleme stringi teatud osa sobitamiseks kasutanud regulaaravaldist. Võime matšis tabada teatud gruppe, kasutades matchAll()
paremat kui match()
.
Soovitatav lugemine: JavaScripti stringi vaste ()