|
|||||||
методы RegExp
Время создания: 28.09.2017 19:13
Раздел: javaScript - RegExp
Запись: xintrea/mytetra_db_mcold/master/base/1506615211u0hoiyb07m/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Методов у объекта RegExp всего два : exec(text) - выполнение поиска в строке, указанной в качестве параметра, возвращает массив найденных соответствий. Метод exec() выполняет регулярное выражение по отношению к строке-аргументу, результатом его работы является массив, в который попадают соответствия. Если соответствий не найдено, то результатом будет null. А если соответствие есть, то оно попадает в массив нулевым элементом, при этом свойство lastIndex объекта сместится на позицию, следующую непосредственно за найденной подстрокой. Давайте рассмотрим на примере : var myString = "This is just a test text"; // Задаем строку для поиска var myPattern = /te|is/g; // Задаем шаблон - либо "te" либо "is" result = myPattern.exec(myString); //result будет равен "is" - первому совпадению шаблона, свойство lastIndex примет значение 4 result = myPattern.exec(myString); //result == "is" - второму совпадению шаблона, lastIndex == 7 result = myPattern.exec(myString); //result == "te" - третьему совпадению шаблона, lastIndex == 17 result = myPattern.exec(myString); //result == "te" - четвертому совпадению шаблона, lastIndex == 22 Метод test() выполняет регулярное выражение по отношению к строке-аргументу, результатом его работы является логическое значение - true если совпадение есть, и false если нет. Свойство lastIndex объекта также как и у метода exec() сместится на позицию, следующую непосредственно за найденной подстрокой. Важный момент! Если совпадение не найдено, то lastIndex будет смещен на позицию 0 и поиск можно будет начинать сначала. Давайте рассмотрим на таком же примере : var myString = "This is just a test text"; // Задаем строку для поиска var myPattern = /te|is/g; // Задаем шаблон - либо "te" либо "is" result = myPattern.test(myString); // result будет равен true, поскольку будет найдено первое совпадение, свойство lastIndex примет значение 4 result = myPattern.test(myString); // result == true, lastIndex == 7 result = myPattern.test(myString); // result == true, lastIndex == 17 result = myPattern.test(myString); // result == true, lastIndex == 22 result = myPattern.test(myString); // result == false, lastIndex == 0 В этом примере мы четыре раза подряд вызываем метод test(), каждый раз он сдвигает указатель начала поиска на позицию, следующую за найденным совпадением и присваивает переменной result булево значение - true если совпадение найдено и false - если нет. В последнем запуске совпадение не найдено, поэтому указатель lastIndex получает значение 0. В этом примере мы четыре раза подряд вызываем метод exec(), каждый раз он сдвигает указатель начала поиска на позицию, следующую за найденным совпадением и присваивает переменной result само найденное совпадение. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|