86 of 264 menu

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]

Lihat juga

  • kaedah test,
    yang menyemak rentetan
  • kaedah match,
    yang mencari padanan dalam rentetan
  • kaedah matchAll,
    yang mencari semua padanan dalam rentetan
  • kaedah replace,
    yang melaksanakan carian dan penggantian
  • kaedah search,
    yang melaksanakan carian
  • kaedah split,
    yang memisahkan rentetan
kamscseshu