JavaScript объект RegExp
Регулярное выражение можно создать двумя способами: с помощью литерала или конструктора. Текст, заключённый в пару символов слэша, интерпретируется как литерал регулярного выражения. За вторым символом слэша из этой пары может следовать один или более символов, которые модифицируют поведение шаблона:
var first = /j$/;
Эта строка создает шаблон регулярного выражения и присваивает его переменной first. Данному шаблону будет соответствовать любая строка, которая заканчивается символом "j". Это же регулярное выражение можно определить с помощью конструктора RegExp():
var first = new RegExp("j$");
Общий синтаксис шаблонов регулярных выражений выглядит так:
var foo = /шаблон/[флаги]; var foo = new RegExp("шаблон"[,"флаги"]);
Параметры:
- foo
- Переменная, которой присваивается регулярное выражение.
- шаблон
- Текст регулярного выражения. При использовании синтаксиса литерала, текст должен быть заключен в символы "/", а если используется конструктор, то текст заключается в кавычки.
- флаги
- Необязательный параметр, позволяющий установить один или несколько флагов для шаблона.
Методы
Метод | Описание |
---|---|
exec() | Выполняет поиск в строке, используя шаблон регулярного выражения и возвращает массив, содержащий результаты поиска. Если совпадений не найдено, то метод вернет null. |
test() | Проверяет, есть ли в переданном тексте соответствия шаблону. Возвращает значение true, если совпадение найдено, или false, если совпадений нет. |
toString() | Возвращает строковое значение регулярного выражения. |
Свойства
Свойство | Описание |
---|---|
constructor | Ссылается на функцию-конструктор, которая была использована при создании объекта. |
global | Содержит булево значение, указывающее, используется ли флаг g в регулярном выражении. |
ignoreCase | Содержит булево значение, указывающее, используется ли флаг i в регулярном выражении. |
lastIndex | Содержит индекс, указывающий позицию в исходной строке текста, с которой начнётся поиск следующего соответствия. Первоначально индекс всегда равен 0. |
multiline | Содержит булево значение, указывающее, используется ли флаг m в регулярном выражении. |
prototype | Ссылается на объект, являющийся прототипом для объектов типа RegExp. Данное свойство используется интерпретатором, когда функция используется как конструктор при создании нового объекта. Любой объект, созданный с помощью конструктора, наследует все свойства объекта, на который ссылается свойство prototype. |
source | Содержит исходный код регулярного выражения в виде строки (без открывающей и закрывающей косой черты и без флагов) – как строковой шаблон для конструктора. |