Az exec metódus

Az exec metódus reguláris kifejezéssel végzett keresést hajt végre egy stringben. Az eredmény a megtalált részstring és annak zárójelei (capturing groups). Ezenkívül minden további hívása ennek a metódusnak onnan kezdi a keresést, ahol az előző megtalált részstring végzett. Ha nincs egyezés - null tér vissza.

Szintaxis

javascriptreguláris_kifejezés.test(string);

Példa

Ellenőrizzük a metódus működését:

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

A kód végrehajtásának eredménye:

javascript[12]
[34]
[56]
null

Példa

Használjuk a metódust egy ciklusban:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

A kód végrehajtásának eredménye:

javascript[12]
[34]
[56] 

Példa

A megtalált egyezéseket szétbonthatjuk zárójelek (capturing groups) szerint:

javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

A kód végrehajtásának eredménye:

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Példa

A lastIndex tulajdonság segítségével beállítható a pozíció, ahonnan a keresést kezdeni kell:

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

A kód végrehajtásának eredménye:

javascript[34]
[56]

Példa

A y módosító segítségével rögzíthető a keresés kezdő pozíciója:

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

A kód végrehajtásának eredménye:

javascriptnull
[12]

Lásd még

  • a test metódus,
    amely ellenőriz egy stringet
  • a match metódus,
    amely egyezéseket keres egy stringben
  • a matchAll metódus,
    amely minden egyezést megkeres egy stringben
  • a replace metódus,
    amely keresést és cserét hajt végre
  • a search metódus,
    amely keresést hajt végre
  • a split metódus,
    amely feloszt egy stringet