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
ekspresi_reguler.test(string);
Contoh
Mari kita periksa cara kerja metode:
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);
Hasil eksekusi kode:
[12]
[34]
[56]
null
Contoh
Mari gunakan metode dalam loop:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Hasil eksekusi kode:
[12]
[34]
[56]
Contoh
Kecocokan yang ditemukan dapat diurai ke dalam kelompok tangkapan:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Hasil eksekusi kode:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Contoh
Dengan menggunakan properti lastIndex
Anda dapat mengatur posisi untuk memulai
pencarian:
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);
Hasil eksekusi kode:
[34]
[56]
Contoh
Dengan menggunakan modifier y
Anda dapat mengunci posisi
awal pencarian:
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);
Hasil eksekusi kode:
null
[12]