86 of 264 menu

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]

Lihat juga

  • metode test,
    yang memeriksa string
  • metode match,
    yang mencari kecocokan dalam string
  • metode matchAll,
    yang mencari semua kecocokan dalam string
  • metode replace,
    yang melakukan pencarian dan penggantian
  • metode search,
    yang melakukan pencarian
  • metode split,
    yang memisahkan string
aznlitpthu