Kaedah exec
Kaedah exec melaksanakan carian dalam
rentetan berdasarkan ungkapan biasa yang ditentukan. Hasilnya mengembalikan subrentetan
yang ditemui dan kumpulan tangkapannya. Setiap
panggilan seterusnya kaedah ini
akan memulakan carian dari tempat
di mana subrentetan yang ditemui sebelumnya
berakhir. Sekiranya tiada padanan
ditemui - dikembalikan null.
Sintaks
ungkapan_biasa.test(rentetan);
Contoh
Mari kita semak cara kaedah berfungsi:
let str = '12 34 56';
let reg = /\d+/g;
let res1 = reg.exec(str);
console.log(res1);
let res2 = reg.exec(str);
console.log(res2);
let res3 = reg.exec(str);
console.log(res3);
let res4 = reg.exec(str);
console.log(res4);
Keputusan pelaksanaan kod:
[12]
[34]
[56]
null
Contoh
Mari gunakan kaedah dalam gelung:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Keputusan pelaksanaan kod:
[12]
[34]
[56]
Contoh
Padanan yang ditemui boleh diuraikan kepada kumpulan tangkapan:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Keputusan pelaksanaan kod:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Contoh
Dengan menggunakan sifat lastIndex
anda boleh menetapkan kedudukan untuk memulakan
carian:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Keputusan pelaksanaan kod:
[34]
[56]
Contoh
Dengan menggunakan pengubah y
anda boleh membetulkan kedudukan
permulaan carian:
let str = '12 34 56';
let reg = /\d+/y;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Keputusan pelaksanaan kod:
null
[12]