Exec-metodi JavaScriptin säännöllisissä lausekkeissa
exec-metodi suorittaa haun
merkkijonossa. Tuloksena palautetaan löydetty
merkkijono-osa ja sen sieppaukset. Jokainen
seuraava tämän metodin kutsu
aloittaa haun siitä kohdasta,
jossa edellinen
löydetty merkkijono-osa päättyi.
Katsotaanpa esimerkkiä. Olkoon meillä seuraava merkkijono:
let str = '12 34 56';
Olkoon meillä seuraava säännöllinen lauseke:
let reg = /\d+/g;
Kutsutaan peräkkäin meidän metodia meidän merkkijonolle:
let res1 = reg.exec(str);
console.log(res1[0]); // 12
let res2 = reg.exec(str);
console.log(res2[0]); // 34
let res3 = reg.exec(str);
console.log(res3[0]); // 56
Kolmen kutsun jälkeen, koska meidän
merkkijonossa ei ole enää vastaavuuksia säännöllisen lausekkeen kanssa,
seuraava metodin kutsu palauttaa
null:
let res4 = reg.exec(str);
console.log(res4); // null
Tätä metodin piirrettä on kätevä käyttää silmukassa:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
}
Voi löytää paitsi vastaavuuden, myös jakaa sen sieppauksiin:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12, 1, 2], [34, 3, 4], [56, 5, 6]
}
Annettu seuraava merkkijono:
let str = '12:37:57 15:48:58 17:59:59';
Etsi siitä kaikki ajat sisältävät merkkijonot ja jokaiselle löydetylle jaa tunnit, minuutit ja sekunnit sieppauksiin.