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() | Возвращает строковое значение регулярного выражения |