JavaScript справка на регулярное выражение
Объект регулярного выражения
Регулярное выражение — это объект, описывающий шаблон символов.
Регулярные выражения используются для выполнения сопоставления шаблонов и функций "поиска и замены" в тексте.
Синтаксис
/pattern/modifiers;
Примере
var patt = /html5css/i
Пример объяснил:
- /html5css/i is a regular expression.
- html5css is a pattern (to be used in a search).
- i is a modifier (modifies the search to be case-insensitive).
Учебник по регулярным выражениям читайте в нашем учебнике по регулярному выражению JavaScript.
Модификаторы
Модификаторы используются для выполнения нечувствительных к регистру и глобальных поисков:
Изменить | Описание |
---|---|
i | Выполнение сопоставления с учетом регистра |
g | Выполнить глобальное совпадение (найти все совпадения, а не останавливать после первого матча) |
m | Выполнение многострочного сопоставления |
Скобки
Скобки используются для поиска диапазона символов:
Выражение | Описание |
---|---|
[abc] | Найти любой символ между скобками |
[^abc] | Найти любой символ не между скобками |
[0-9] | Найти любой символ между скобками (любая цифра) |
[^0-9] | Найти любой символ не между скобками (любой не-цифра) |
(x|y) | Найти любой из вариантов, указанных |
Метасимволы
Метасимволы являются символами с особым значением:
Метасимвол | Описание |
---|---|
. | Найти один символ, за исключением строки или конца строки |
\w | Поиск символа слова |
\W | Поиск символа, не являющегося словом |
\d | Найти цифру |
\D | Найти символ, не являющийся цифрой |
\s | Поиск символа пробела |
\S | Поиск символа, не являющегося символом пробела |
\b | Найти совпадение в начале/конце слова |
\B | Найти совпадение не в начале/конце слова |
\0 | Найти нулевой символ |
\n | Найти новый символ строки |
\f | Поиск символа канала формы |
\r | Поиск символа возврата каретки |
\t | Поиск символа табуляции |
\v | Найти вертикальный символ табуляции |
\xxx | Поиск символа, заданного восьмеричной номером XXX |
\xdd | Поиск символа, заданного шестнадцатеричным числом DD |
\uxxxx | Поиск символа Юникода, заданного шестнадцатеричным номером XXXX |
Кванторы
Количественно | Описание |
---|---|
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() | Возвращает строковое значение регулярного выражения |