Metode exec
Metode exec melakukan pencarian dalam
string berdasarkan ekspresi reguler yang diberikan. Hasilnya mengembalikan substring
yang ditemukan dan kelompok tangkapannya (capturing groups). Setiap
pemanggilan metode ini secara berurutan
akan memulai pencarian dari posisi
di mana substring yang ditemukan sebelumnya
berakhir. Jika tidak ada kecocokan
yang ditemukan - dikembalikan null.
Sintaksis
javascriptekspresi_reguler.test(string);
Contoh
Mari kita periksa cara kerja metode:
javascriptlet 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);
Hasil eksekusi kode:
javascript[12]
[34]
[56]
null
Contoh
Mari gunakan metode dalam loop:
javascriptlet str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Hasil eksekusi kode:
javascript[12]
[34]
[56]
Contoh
Kecocokan yang ditemukan dapat diurai ke dalam kelompok tangkapan:
javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Hasil eksekusi kode:
javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Contoh
Dengan menggunakan properti lastIndex
Anda dapat mengatur posisi untuk memulai
pencarian:
javascriptlet 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);
Hasil eksekusi kode:
javascript[34]
[56]
Contoh
Dengan menggunakan modifier y
Anda dapat mengunci posisi
awal pencarian:
javascriptlet 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);
Hasil eksekusi kode:
javascriptnull
[12]