exec metodu
exec metodu verilmiş regular ifadəyə görə sətir üzrə axtarış həyata keçirir. Nəticə olaraq tapılan substring və onun qrupları qaytarılır. Bununla yanaşı hər bir sonrakı metod çağırışı əvvəlki tapılan substringin bitdiyi yerdən axtarışa başlayacaq. Əgər uyğunluq tapılmasa - null qaytarılır.
Sintaksis
regular_ifade.exec(sətir);
Nümunə
Metodun işini yoxlayaq:
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);
Kodun icrasının nəticəsi:
[12]
[34]
[56]
null
Nümunə
Metoddan dövrədə istifadə edək:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Kodun icrasının nəticəsi:
[12]
[34]
[56]
Nümunə
Tapılan uyğunluqları qruplara ayırmaq olar:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Kodun icrasının nəticəsi:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Nümunə
lastIndex xassəsi vasitəsilə axtarışın başlanacağı mövqeyi təyin etmək olar:
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);
Kodun icrasının nəticəsi:
[34]
[56]
Nümunə
y modifikatoru vasitəsilə axtarışın başlanğıc mövqeyi fixələnə bilər:
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);
Kodun icrasının nəticəsi:
null
[12]