Метод exec() для JavaScript RegExp
- Предыдущая страница compile()
- Следующая страница test()
- Вернуться на один уровень выше Референсное руководство 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() |
- Предыдущая страница compile()
- Следующая страница test()
- Вернуться на один уровень выше Референсное руководство JavaScript RegExp