Разница между тестированием, EXEC, Match Method в JS Регулярные выражения
тест
Тест возвращает логический, чтобы найти режим существования в соответствующей строке.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
оповещение (reg.test (str));
исполнительный
Exec находит и возвращает текущие результаты сопоставления и возвращает в виде массива.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
var anrr = reg.exec (str);
Если нет режима, ARR - NULL, в противном случае ARR - это всегда массив 1 в длину, а его значение - текущее сопоставление. Есть три атрибута ARR: положение текущего сопоставления индекса;
Метод EXEC влияет на параметр G. Если g указан, когда EXEC будет вызовет в следующий раз, вы начнете с LastIndex, который был сопоставлен.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
Alert (reg.exec (str) [0]);
Alert (reg.exec (str) [0]);
Два выхода выше 1а. Теперь посмотрите на указанный параметр g:
var str = "1a1b1c";
var reg = new Regexp ("1.", "g");
Alert (reg.exec (str) [0]);
Alert (reg.exec (str) [0]);
Первый выход 1А, второй выход 1B.
соответствовать
Матч - это метод строкового объекта.
var str = "1a1b1c";
var reg = new Regexp ("1.", "");
оповещение (str.match (reg));
Этот метод немного похож на EXEC, но: EXEC - это метод объекта REGEXP; Существует еще одна разница между двумя, что является объяснением параметра G.
Если параметр g указан, то совпадение вернется ко всем результатам за раз.
var str = "1a1b1c";
var reg = new Regexp ("1.", "g");
оповещение (str.match (reg));
// оповещения (str.match (reg));
Этот результат является массивом с тремя элементами: 1a, 1b, 1c.
Две функции часто используются в JavaScript, а совпадение и тест часто используются в регулярных выражениях.
Матч Exmple
Код кода копирования следующим образом:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = str.match (regexp);
// rs = array ('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e');
Тестовый пример
Код кода копирования следующим образом:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs = regexp.test (str);
// rs = true;
EXCER
Код кода копирования следующим образом:
var str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
var regexp = /[ae] /gi;
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
document.write (rs);
document.write (regexp.lastindex);
document.write ("<br />");
}
Выход
------------------------------------------------------ -----------------------------------
1
B 2
C 3
D 4
E 5
27
Б 28
C 29
D 30
E 31
Еще один эксплу
Код кода копирования следующим образом:
var regexp = /ab* /g;
var str = "abbcdefabh";
var rs;
While ((rs = regexp.exec (str))! = Null)
{{
document.write (rs);
document.write (regexp.lastindex);
document.write ("<br />");
}
Выход
------------------------------------------------------ -----------------------------------
ABB 3
AB 9