АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
86 of 264 menu
НОВИНКА: Практика на Реальных Проектах и Работы в Портфолио. Бесплатный курс! Жми для записи!

Метод exec

Метод exec осуществляет поиск по строке по заданному регулярному выражению. Результатом возвращается найденная подстрока и ее карманы. При этом каждый последующий вызов данного метода будет начинать поиск с того места, в котором закончилась предыдущая найденная подстрока. Если совпадение не найдено - возвращается 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]

Пример

Найденные совпадения можно разложить по карманам:

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,
    который разбивает строку
enru