JavaScript Справочник регулярных выражений
Объект регулярных выражений
Регулярное выражение - это объект, описывающий набор символов.
Регулярные выражения используются для сопоставления с образцом и "поиск и замена" работает с текстом.
Синтаксис
/шаблон /модификаторы;
Объяснение примера:
- /schoolsw3/i является регулярным выражением.
- schoolsw3 это шаблон (для использования в поиске).
- i является модификатором (изменяет поиск без учета регистра).
Учебник по регулярным выражениям см. в JavaScript Учебник регулярных выражений.
Модификаторы
Модификаторы используются для выполнения глобального поиска без учета регистра:
| Модификатор | Описание |
|---|---|
| g | Выполнить глобальное сопоставление (найти все совпадения, а не останавливаться после первого совпадения) |
| i | Сопоставление без учета регистра |
| m | Выполнить многострочное сопоставление |
Скобки
Скобки используются для поиска диапазона символов:
| Выражение | Описание |
|---|---|
| [abc] | Найдите любой символ между скобками |
| [^abc] | Найдите любой символ НЕ в скобках |
| [0-9] | Найдите любой символ в скобках (любую цифру) |
| [^0-9] | Найдите любой символ НЕ в скобках (любой нецифровой) |
| (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 |
| n{X} | Соответствует любой строке, содержащей последовательность X n е |
| n{X,Y} | Соответствует любой строке, содержащей последовательность от X до Y n е |
| n{X,} | Соответствует любой строке, содержащей последовательность не менее X n е |
| n$ | Соответствует любой строке с n в конце |
| ^n | Соответствует любой строке с n в начале |
| ?=n | Соответствует любой строке, за которой следует определенная строка n |
| ?!n | Соответствует любой строке, за которой не следует конкретная строка n |
Свойства объекта регулярных выражений
| Свойство | Описание |
|---|---|
| constructor | Возвращает функцию, создавшую прототип объекта регулярных выражений |
| global | Проверяет наличие символа "g" установлен модификатор |
| ignoreCase | Проверяет наличие символа "i" установлен модификатор |
| lastIndex | Задает индекс, с которого начинается следующее совпадение |
| multiline | Проверяет, есть ли у "m" установлен модификатор |
| source | Возвращает текст шаблона регулярных выражений |
Методы объекта регулярных выражений
| Метод | Описание |
|---|---|
| compile() | Не рекомендуется в версии 1.5. Компилирует регулярное выражение |
| exec() | Проверяет соответствие в строке. Возвращает первое совпадение |
| test() | Проверяет соответствие в строке. Возвращает true или false |
| toString() | Возвращает строковое значение регулярного выражения |
