regular expression | NN 4 IE J3 ECMA n/a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Объект regular expression - экземпляр объекта RegExp. Каждый объект regular expression состоит из образца, который используется, чтобы расположить соответствия в пределах строки. Образцы для регулярного выражения могут быть простыми строками или значительно более мощными выражениями, которые используют примечание, которое является по существу языком к себе. Выполнение регулярных выражений в JavaScript 1.2 очень похоже на пути, которым они осуществлены в Perl. Вы можете читать больше об этих концепциях в книгах, охватывающих JavaScript 1.2. Чтобы создать объект регулярное выражение, окружите образец косыми чертами и назначьте это выражение на переменную. Например, следующая инструкция создает регулярное выражение, чей образец - простое слово: var re = /greet/ Переменная re может тогда использоваться как параметр в различных методах, которые ищут образец в пределах некоторой строки (Эффективнее будет использовать выражение непосредственно как параметр для метода, чем назначение его к переменной). Примечание регулярного выражения (образец строки) может также состоять из множества метасимволов, что иногда используется в реализации сложных идей, типа границы с обеих сторон слова, любой цифры, или одного или более символов. Например, чтобы искать образец символов, показанных выше, но только тогда, когда образец - слово (и не часть слова), примечание регулярного выражения, использует метасимволы, чтобы указать, что образец включает границы слова с обеих сторон: var re = /\bgreet\b/
Когда Вы создаете регулярное выражение, Вы можете заставить выражение работать глобально (поскольку Вы, вероятно, создаёте регулярное выражение, которое осуществляет операцию поиска и замещения с методом) и игнорировать символы в случае соответствия. Модификаторы, которые включают эти выключатели, - символоы g и i. Они могут использоваться самостоятельно или вместе ( gi ). Как только Вы установили образец с примечанием регулярного выражения, все действия занимают место в методах объекта regular expression и методах объекта String как параметры ввода регулярных выражений. Регулярные выражения вычисляются аналогично остальным выражениям JavaScript, т. е. с учетом приоритета операций: операции, имеющие больший приоритет, выполняются первыми. Если операции имеют равный приоритет, то они выполняются слева направо. В следующей таблице приведен список операций регулярных выражений в порядке убывания их приоритетов; операции, расположенные в одной строке таблицы, имеют равный приоритет.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Создание объекта regular expression
var regExpressionObj = /pattern/ [g | i | gi] var regExpressionObj = new RegExp(["pattern", ["g" | "i" | "gi"]]) |
Свойства:
global, ignoreCase | NN 4 IE J3 ECMA n/a |
Только чтение | |
Возвращает, имел ли объект набор модификаторов g или i, когда он был создан. Если объект regular expression имеет оба модификатора (gi), Вы должны проверять каждое свойство индивидуально. | |
Пример:
if (myRE.global && myRE.ignoreCase) { ... } | |
Возвращаемое значение: Булево значение |
lastIndex | NN 4 IE J3 ECMA n/a | ||||||
Чтение/Изменение | |||||||
Отсчитываемое от нуля индексное значение символа в пределах строки, где начинается следующий поиск образца . В новом поиске значение нулевое. Вы можете также устанавливать значение вручную, если Вы желаете начать поиск в различных местах или пропускать некоторые символы. Это свойство устанавливается, только если регулярное выражение использует флаг "g" для указания на глобальный поиск. Применяются следующие правила:
Например, рассмотрим последовательность следующих операторов:
|
|||||||
Пример:
myRE.lastIndex = 30 | |||||||
Возвращаемое значение: Целое число. |
multiline | IE 5.5 ECMA n/a |
Чтение/Изменение | |
Значением свойства multiline является значение опции "m" (многострочный поиск), заданное при создании объекта. Короткая версия - $*. |
|
Пример:
var re = new RegExp("a+b+c","im"); |
|
Возвращаемое значение: Булево значение |
source | NN 4 IE J3 ECMA n/a |
Только чтение | |
Возвращается строковая версия символов, которые использовались при создании регулярного выражения. Значение не включает разделители косой черты, которые окружают выражение. | |
Пример:
var myREasString = myRE.source | |
Возвращаемое значение: Строка. |
Методы:
compile() | NN 4 IE J3 ECMA n/a | ||
compile(pattern[, g | i | gi]) | |||
Компилирует образец регулярное выражение в подлинный объект regular expression. Компиляция регулярного выражения имеет смысл, если вы собираетесь использовать это выражение несколько раз. | |||
Возвращаемое значение Ссылка на объект regular expression . |
|||
Параметры
|
exec() | NN 4 IE J3 ECMA n/a | ||
exec(string) | |||
Метод exec выполняет сопоставление строки с образцом, заданным регвыр. Если сопоставление с образцом закончилось неудачей, то возвращается значение null. В противном случае результатом является массив подстрок, соответствующих заданному образцу. В процессе сопоставления производится обновление всех свойств объекта регвыр (и тем самым всех свойств объекта RegExp). Типичная последовательность соответствует формату: var myRE = /somePattern/ var resultArray = myRE.exec("someString") Свойства и статического объекта RegExp, и объекта regular expression (myRE, например) изменяются вместе с информацией о результатах поиска. Кроме того, метод exec() возвращает массив данных, свойства которого во многом подобны свойствам объекта RegExp. Возвращенный массив включает следующие свойства: indexОтсчитываемый от нуля индекс первого символа в строке, которая соответствует образцу input [0] [1]...[n] Вы можете убирать результаты метода exec() из переменной, принимая во внимание, что свойства объекта RegExp измененяются с каждой операцией regular expression. Если регулярное выражение установлено для поиска глобальной переменной, запрос myRE.exec("someString") продолжит поиск от позиции предыдущего соответствия. Если для данного запроса никакого соответствия не найдено, exec() возвращает нуль. | |||
Возвращаемое значение Массив соответствий, если успешно; нуль, если нет никаких соответствий. |
|||
Параметры
|
test() | NN 4 IE J3 ECMA n/a | ||
test(string) | |||
Возвращает true, если есть соответствие регулярному выражению где-нибудь в строке, прошедшей как параметр; false, если нет. Никакая дополнительная информация о результатах поиска недоступна. Это - самый быстрый способ выяснить, соответствует ли образец в пределах строки. | |||
Возвращаемое значение Булево значение. |
|||
Параметры
|
toString() | NN 4 IE J3 ECMA n/a | ||
регулярное_выражение.toString() | |||
Возвращает true, если есть соответствие регулярному выражению где-нибудь в строке, прошедшей как параметр; false, если нет. Никакая дополнительная информация о результатах поиска недоступна. Это - самый быстрый способ выяснить, соответствует ли образец в пределах строки. |
|||
Возвращаемое значение Булево значение. |
|||
Параметры
|
HIVE: All information for read only. Please respect copyright! |