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

javascriptregular_ifade.exec(sətir);

Nümunə

Metodun işini yoxlayaq:

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);

Kodun icrasının nəticəsi:

javascript[12]
[34]
[56]
null

Nümunə

Metoddan dövrədə istifadə edək:

javascriptlet 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:

javascript[12]
[34]
[56] 

Nümunə

Tapılan uyğunluqları qruplara ayırmaq olar:

javascriptlet 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:

javascript[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:

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);

Kodun icrasının nəticəsi:

javascript[34]
[56]

Nümunə

y modifikatoru vasitəsilə axtarışın başlanğıc mövqeyi fixələnə bilər:

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);

Kodun icrasının nəticəsi:

javascriptnull
[12]

Həmçinin bax

  • test metodu,
    sətiri yoxlayan
  • match metodu,
    sətirdə uyğunluq axtaran
  • matchAll metodu,
    sətirdə bütün uyğunluqları axtaran
  • replace metodu,
    axtarış və əvəzetmə edən
  • search metodu,
    axtarış edən
  • split metodu,
    sətiri bölən