Kaedah exec dalam Ungkapan Biasa JavaScript
Kaedah exec menjalankan carian dalam
tali. Hasilnya mengembalikan subrentetan yang
ditemui dan kumpulannya (capturing groups). Setiap
panggilan seterusnya bagi kaedah ini
akan memulakan carian dari tempat
di mana subrentetan yang ditemui sebelumnya
berakhir.
Mari kita lihat contoh. Katakan kita mempunyai tali berikut:
javascriptlet str = '12 34 56';
Katakan kita mempunyai ungkapan biasa berikut:
javascriptlet reg = /\d+/g;
Mari kita panggil kaedah kita secara berurutan untuk tali kita:
javascriptlet 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
Selepas tiga panggilan, memandangkan dalam
tali kita tiada lagi padanan dengan ungkapan biasa,
panggilan seterusnya kaedah akan mengembalikan
null:
javascriptlet res4 = reg.exec(str);
console.log(res4); // null
Ciri kaedah ini mudah digunakan dalam gelung:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res); // [12], [34], [56]
}
Bukan sahaja padanan boleh ditemui, tetapi juga menguraikannya kepada kumpulan (capturing groups):
javascriptlet 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]
}
Diberi tali berikut:
javascriptlet str = '12:37:57 15:48:58 17:59:59';
Cari semua subrentetan dengan masa dan untuk setiap yang ditemui, uraikan jam, minit dan saat kepada kumpulan (capturing groups) yang berasingan.