EXEC - это метод регулярных выражений, а не метод строк, а его параметры - это строки, как показано ниже:
var re = new Regexp (// d/); re.exec ("abc4def"); // или использовать Perl style: //d/.exec ("abc4def"); // match - это метод, предоставляемый классом строки. Его параметры являются регулярными объектами выражения. Следующее использование верно: «ABC4DEF» .match (/D);Exec and match return массивы
Если регулярное выражение, которое выполняет метод EXEC, не сгруппировано (без скобков), то если есть совпадение, оно вернет массив только с одним элементом, а единственный элемент этого массива - это первая строка, которую соответствует регулярному выражению; Если нет совпадения, он вернет NULL.
Следующие две функции оповещения.
var str = "cat, hat"; var p =/at/; // Не существует g -атрибута оповещения (p.exec (str)) оповещения (str.match (p))
Все "в". В этом случае EXEC эквивалентен для соответствия.
Однако, если регулярное выражение сопоставлено по всему миру (атрибут G), приведенный выше код будет иметь разные результаты:
var str = "cat, hat"; var p =/at/g; // Обратите внимание на оповещение о атрибуте g (p.exec (str)) Alert (str.match (p))
Они есть
"в"
"в, в".
Потому что EXEC всегда будет возвращать только первый матч, а Match вернет все совпадения, когда атрибут G регулярно указан.
Если исполнитель находит совпадение и содержит группу, возвращенный массив будет содержать несколько элементов. Первым элементом является найденный совпадение, а последующие элементы - это первое, второе ... группировки в матче (обратная ссылка)
Следующий код появится "Cat2, AT":
var str = "cat2, hat8"; var p =/c (at)/d/; alert (p.exec (str))
Первым элементом является соответствующая строка «cat2», а последующим элементом является соответствующий «AT» в скобках.
Функция соответствия будет мешать следующим условиям и реализовать ту же функцию, что и EXEC:
1. Регулярное выражение содержит группировки (скобки)
2. вернуть уникальный матч
Давайте посмотрим на следующий код:
var str = "cat2, hat8"; var p =/c (at)/d/; alert (p.exec (str)) оповещение (str.match (p))
Сообщение «Cat2, AT» появится. Как вы думаете, это очень странно?
Суммировать:
Match - это массив, который возвращает все соответствующие строки, но регулярное выражение должно указать глобальный атрибут G, чтобы вернуть все совпадения. Если атрибут G не указан, будет возвращен массив только с одним элементом.
Exec всегда возвращает информацию, связанную с первым матчем, который возвращает массив, включая первую строку соответствия, обратные ссылки на все пакеты.
В некоторых случаях результат, возвращаемый EXC, такой же, как и результат, возвращаемый матчем:
var str = "cat, hat"; var p =/at/; // Не существует g -атрибута оповещения (p.exec (str)) оповещения (str.match (p))
"В" всплывает
В некоторых случаях результат, возвращаемый Match, такой же, как и результат, возвращенный EXEC:
var str = "cat2, hat8"; var p =/c (at)/d/; alert (p.exec (str)) оповещение (str.match (p))
"Cat2, в" всплывает
Углубленный анализ вышеупомянутой статьи методов EXEC и соответствия в JavaScript-это весь контент, которым я делюсь с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.