Метод exec() для JavaScript RegExp

Рекомендуемые курсы:

exec() Определение и использование

Метод тестирования соответствия в строке.

Этот метод является общим для соответствия шаблону. null...Если найдено соответствие, то возвращается массив результатов, в противном случае возвращается

Пример

Пример 1

Поиск символа "e" в строке:

let text = "The best things in life are free";
let result = /e/.exec(text);

Попробуйте сами

Пример 2

Общий поиск "Hello" и "W3School" в строке:

let text = "Hello world!";
// Найти "Hello"
let result1 = /Hello/.exec(text);
// Найти "W3School"
let result2 = /W3School/.exec(text);

Попробуйте сами

Синтаксис

regexp.exec(начать поиск с символа, указанного свойством lastIndex.)

Параметр

Параметр Описание
начать поиск с символа, указанного свойством lastIndex. Обязателен. Строка, которую нужно поиска.

Возвратное значение

Тип Описание
Массив Если найдено соответствие, то массив содержит текст соответствия, в противном случае возвращается null.

Технические детали

Возвратное значение

Массив, который хранит результаты соответствия. Если не найдено соответствие, значение равно... null.Ниже приведен формат возвращаемого массива.

выбрасывается

Тип Описание
TypeError Если объект, вызывающий этот метод, не является RegExp, то выбрасывается исключение.

Объяснение

во всех методах соответствия шаблону RegExp и методах соответствия шаблону String...exec() является наиболее мощным. Это общая функция, использование которой проще, чем... RegExp.test(),String.replace() и String.match() все это очень сложно.

exec() Поиск строки... начать поиск с символа, указанного свойством lastIndex....из которого можно получить соответствующий регулярному выражению... regexp соответствующий текст. Если... exec() Если找到了匹配的文本,则会返回一个结果数组。В противном случае, возвращается... nullЭлемент, который является 0-м элементом возвращаемого массива, это текст, соответствующий выражению. 1-й элемент соответствует... regexp 的第一个子表达式相匹配的文本(如果存在)。第 2 个元素是与 regexp первая подформула соответствует тексту (если он существует). Второй элемент соответствуетexec() вторая подформула соответствует тексту, и так далее. Обычно, свойство length массива указывает на количество элементов в массиве. Кроме элементов массива и свойства length, начать поиск с символа, указанного свойством lastIndex.еще два свойства. Свойство index указывает на позицию первого символа соответствия текста. Свойство input указывает на exec() метода. String.match() метода, возвращаемый массив будет таким же, как и

метода, результаты возвращаемого метода такие же. exec() в вызове неглобального regexp метод будет выполнять поиск и возвращать результаты, указанные выше. Однако, когдаexec() является ли это глобальным регулярным выражением regexp поведение немного сложнее. Он начать поиск с символа, указанного свойством lastIndex. string regexp установить lastIndex в позицию первого символа соответствия текста. Это означает, что можно многократно вызывать exec() метод для перебора всех соответствий текста в строке. Когда exec() больше не может найти соответствующий текст, он возвращает nullи возвращают lastIndex в 0. Если после выполнения одного соответствия шаблона в строке необходимо начать поиск нового текста, необходимо вручную сбросить атрибут lastIndex до 0.

Обратите внимание, что независимо от regexp является ли глобальным режимомexec() добавляют все детали в возвращаемый массив. Это exec() и String.match() различается,后者 в глобальном режиме возвращает меньше информации. Фактически, при многократном вызове exec() Метод является единственным способом получения полной информации о соответствии шаблона в глобальном режиме.

Поддержка браузерами

exec() Это характеристика ECMAScript1 (ES1).

Все браузеры полностью поддерживают ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Поддержка Поддержка Поддержка Поддержка Поддержка Поддержка

Методы поиска регулярных выражений

В JavaScript, текстовый поиск с использованием регулярных выражений можно выполнить различными методами.

ИспользованиеПаттерн (pattern)В качестве регулярного выражения, эти методы наиболее часто используются:

Пример Описание
text.match(Паттерн) Метод поиска строки match()
text.search(Паттерн) Метод поиска строки search()
Паттерн.exec(text) Метод RexExp exec()
Паттерн.test(text) Метод RexExp test()