Оператор RegExp Объект
Регулярное выражение – это шаблон символов.
Шаблон используется для поиска и замены символов в строках.
Объект RegExp представляет собой регулярное выражение с добавленными свойствами и методами.
Синтаксис
/pattern/Модификатор(s);
let pattern = /schoolsw3/i;
Попробуйте сами »
Пример объяснение:
| schoolsw3 | Шаблон для поиска |
|---|---|
| /schoolsw3/ | Регулярное выражение |
| /schoolsw3/i | Регулярное выражение без учета регистра |
Учебное пособие по регулярным выражениям можно найти в нашем JavaScript Учебнике RegExp.
Поддержка браузера
/regexp/ — это функция ECMAScript1 (ES1).
ES1 (JavaScript 1997) полностью поддерживается во всех браузерах:
| Chrome | Edge | Firefox | Safari | Opera | IE |
| Да | Да | Да | Да | Да | Да |
Модификаторы
Модификаторы определяют, как выполнять поиск:
| Модификатор | Описание |
|---|---|
| /g | Выполнить глобальное сопоставление (найти все) |
| /i | Выполнять сопоставление без учета регистра |
| /m | Выполнить многострочное сопоставление |
Скобки
Скобки используются для поиска диапазона символов:
| Скобки | Описание |
|---|---|
| [abc] | Найти любого персонажа между скобок |
| [^abc] | Найти любого персонажа NOT между скобок |
| [0-9] | Найти любой символ между скобок (любая цифра) |
| [^0-9] | Найти любой символ NOT между скобок (любой нецифровой) |
| (x|y) | Найти любую из указанных альтернатив |
Метасимволы
Метасимволы — символы, имеющие особое значение:
| Символы | Описание |
|---|---|
| . | Найти один символ, кроме символа новой строки или признака конца строки |
| \w | Найти символ слова |
| \W | Найти несловный символ |
| \d | Найти цифру |
| \D | Найти нецифровой символ |
| \s | Найти пробел |
| \S | Найти символ без пробелов |
| \b | Найти совпадение в начале/конце слова, которое начинается так: \bHI, заканчивайте так: HI\b |
| \B | Найти совпадение, но не в начале/конце слова |
| \0 | Найти NULL-символ |
| \n | Найти символ новой строки |
| \f | Найти символ перевода страницы |
| \r | Найти символ возврата каретки |
| \t | Найти символ табуляции |
| \v | Найти символ вертикальной табуляции |
| \xxx | Найти символ, заданный восьмеричным числом xxx |
| \xdd | Найти символ, заданный шестнадцатеричным числом dd |
| \udddd | Найти символ Юникода, заданный шестнадцатеричным числом dddd |
Кванторы
| Квантор | Описание |
|---|---|
| n+ | Соответствует любой строке, содержащей хотя бы один n |
| n* | Соответствует любой строке, которая содержит ноль или более вхождений n |
| н? | Соответствует любой строке, содержащей ноль или одно вхождение n |
| n{X} | Соответствует любой строке, содержащей последовательность X n |
| n{X,Y} | Соответствует любой строке, содержащей последовательность от X до Y n |
| n{X, | Соответствует любой строке, содержащей последовательность не менее X n |
| n$ | Соответствует любой строке с n в конце |
| ^n | Соответствует любой строке с n в начале |
| ?=n | Соответствует любой строке, за которой следует определенная строка n |
| ?!n | Соответствует любой строке, за которой не следует определенная строка n |
Свойства объекта RegExp
| Свойство | Описание |
|---|---|
| constructor | Возвращает функцию, создавшую прототип объекта RegExp |
| global | Проверяет, является ли "g" модификатор установленным |
| ignoreCase | Проверяет, является ли "i" модификатор установленным |
| lastIndex | Указывает индекс, с которого следует начать следующее совпадение |
| multiline | Проверяет, является ли параметр "m" модификатор установленным |
| source | Возвращает текст шаблона RegExp |
Методы объекта RegExp
| Методы | Описание |
|---|---|
| compile() | Устарело в версии 1.5. Компилирует регулярное выражение |
| exec() | Проверяет совпадение в строки. Возвращает первое совпадение |
| test() | Проверяет совпадение в строки. Возвращает true или false |
| toString() | Возвращает строковое значение регулярного выражения |