[ Leksykon ] [ JavaScript ] [ Metody ] [ String() ] [ Wyrażenia regularne ]
String matchAll()
[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
Przykłady:
const kod = /t(e)(kst(\d?))/g;
const tekst = 'Przykładowy tekst1. TAK to tekst2! o tekst3';
const tablica = [...tekst.matchAll(kod)];
console.log(tablica[0]); // Array ["tekst1", "e", "kst1", "1"]
console.log(tablica[1]); // Array ["tekst2", "e", "kst2", "2"]
console.log(tablica[2]); // Array ["tekst3", "e", "kst3", "3"]
const kod = /tek[a-z]*/g;
const tekst = 'Przykładowy tekst1. TAK to tekst2! o tekst3';
const tablica = tekst.matchAll(kod);
for (const tab of tablica) {
console.log(
`to jest ${tab[0]}, pozycja start=${tab.index}, pozycja koniec=${
tab.index + tab[0].length
}. input=${tab.input}`,
);
}
// "to jest tekst, pozycja start=12, pozycja koniec=17. input=Przykładowy tekst1. TAK to tekst2! o tekst3"
// "to jest tekst, pozycja start=27, pozycja koniec=32. input=Przykładowy tekst1. TAK to tekst2! o tekst3"
// "to jest tekst, pozycja start=37, pozycja koniec=42. input=Przykładowy tekst1. TAK to tekst2! o tekst3"
const kod = /tek[a-z]*/g;
const tekst = 'Przykładowy tekst1. TAK to tekst2! o tekst3';
let tablica;
while ((tablica = kod.exec(tekst)) !== null) {
console.log(
`to jest ${tablica[0]}, pozycja start=${tablica.index}, pozycja koniec=${kod.lastIndex}.`,
);
}
// "to jest tekst, pozycja start=12, pozycja koniec=17."
// "to jest tekst, pozycja start=27, pozycja koniec=32."
// "to jest tekst, pozycja start=37, pozycja koniec=42."
Opis:
Metoda matchAll() zwraca iterator wszystkich wyników pasujących do łańcucha względem wyrażenia regularnego, w tym przechwytywanie grup. Parametr Obiekt wyrażenia regularnego lub dowolny obiekt, który ma Symbol.matchAll metodę. Brak parametru niejawnie konwertowany na new RegExp(regexp, 'g'). Zwracana wartość tablicę o takim samym kształcie jak zwracana wartość RegExp.prototype.exec()..
Linki:
[ Wyrażenia regularne ]
RegExp
RegExp.prototype[@@matchAll]()