86 of 264 menu

Метод exec

Методът exec извършва търсене в низ по зададен регулярен израз. Резултатът е намереният подниз и неговите групи (capturing groups). При това всеки следващо извикване на този метод ще започва търсенето от мястото, в което е завършил предишният намерен подниз. Ако съвпадение не бъде намерено - се връща null.

Синтаксис

регулярен_израз.test(низ);

Пример

Нека проверим работата на метода:

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

Резултат от изпълнението на кода:

[12] [34] [56] null

Пример

Да използваме метода в цикъл:

let str = '12 34 56'; let reg = /\d+/g; let res; while (res = reg.exec(str)) { console.log(res); }

Резултат от изпълнението на кода:

[12] [34] [56]

Пример

Намерените съвпадения могат да бъдат разложени в групи (capturing groups):

let str = '12 34 56'; let reg = /(\d)(\d)/g; let res; while (res = reg.exec(str)) { console.log(res); }

Резултат от изпълнението на кода:

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

Пример

Чрез свойството lastIndex може да се зададе позицията, от която трябва да започне търсенето:

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

Резултат от изпълнението на кода:

[34] [56]

Пример

Чрез модификатора y може да се фиксира позицията за начало на търсене:

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

Резултат от изпълнението на кода:

null [12]

Вижте също

  • метод test,
    който проверява низ
  • метод match,
    който търси съвпадения в низ
  • метод matchAll,
    който търси всички съвпадения в низ
  • метод replace,
    който извършва търсене и замяна
  • метод search,
    който извършва търсене
  • метод split,
    който разделя низ
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне