A JavaScript String matchAll () metódus visszaadja a karakterlánc és a reguláris kifejezés összehangolásának eredményeit.
A matchAll()
módszer szintaxisa :
str.matchAll(regexp)
Itt str
van egy húr.
matchAll () Paraméterek
A matchAll()
módszer:
- regexp - reguláris kifejezés objektum (az argumentum implicit módon konvertálódik,
RegExp
ha nemRegExp
objektumról van szó)
Megjegyzés: Ha az RegExp
objektumnak nincs meg a /g
zászlaja, akkor egy TypeError
dobni fog.
Visszatérési érték a matchAll () értékéből
- Visszaad egy iterátort, amely tartalmazza az egyezéseket, beleértve a rögzítő csoportokat is.
Megjegyzés : A visszaadott iterátor minden elemének a következő további tulajdonságai lesznek:
groups
- Megnevezett elfogási csoportok objektuma, amelynek kulcsai a nevek és az értékek, mivel a rögzített egyeznek.index
- A keresés indexe, ahol az eredmény megtalálható.input
- A keresési karakterlánc másolata.
1. példa: A matchAll () használata
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); )
Kimenet
('JavaScript', index: 14, input: 'JavaScript-et nem Java-t tanulok.', Csoportok: undefined) ('Java', index: 29, input: 'JavaScript-et nem Java-t tanulok.', Csoportok: undefined)
Itt a visszatérő iterátort a for… of
ciklus segítségével iterálják.
2. példa: A matchAll használata csoportok rögzítéséhez
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'))`) )
Kimenet
Talált "név Albert". a 3. indexen. Fogott név = Albert Megtalálva "A név Szojuj." a 24. indexen. Fogott név = Szojuj
Itt egy szabályos kifejezést használtunk a karakterlánc egy bizonyos részének illesztésére. A meccs bizonyos csoportjait matchAll()
jobban megragadhatjuk, mint match()
.
Ajánlott olvasmány: JavaScript karakterlánc egyezés ()