← Назад
Класс RegExp в JavaScript представляет собой регулярные выражения – объект, описывающий символьный шаблон.
С помощью специального синтаксиса литералов
let regex = /pattern/flags;
// с помощью конструктора
let regex = new RegExp( "pattern", "flags" );
let regex = new RegExp( /pattern/, "flags" );
Символы | Описание |
---|---|
pattern | Текст регулярного выражения, или начиная с ES5, другого объекта RegExp (или литерала) для копирования. |
flags | Если указаны, то определяют флаги регулярных выражений для добавления. Значение соответствует строке, содержащей любую комбинацию значений, приведенных ниже в следующем разделе. Необязательное значение. |
Флаги | Описание |
---|---|
g | Позволяет найти все совпадения, а не останавливаться после первого совпадения (global match flag). |
i | Позволяет выполнить сопоставление без учета регистра (ignore case flag). |
m | Сопоставление производится по нескольким строкам. Обработка начальных и конечных символов (^ и $) производится по нескольким строкам, то есть сопоставление происходит с началом или концом каждой строки (разделители \n или \r), а не только с началом, или концом всей строки (multiline flag). |
u | Шаблон будет расценен как последовательность кодовых точек Юникода (unicode flag). |
y | Сопоставление происходит по индексу на который указывает свойство lastIndex этого регулярного выражения, при этом сопоставление не производиться по более позднему, или раннему индексу (sticky flag). |
Позволяет найти любой символ в скобках:
[abc]
[a-c]
[0-9]
Позволяет найти любой символ за исключением того, или тех, которые находятся в скобках:
[^abc]
[^a-c]
[^0-9]
Символы | Описание |
---|---|
. | Позволяет найти один символ, кроме символа новой строки, или символа конца строки (\n, \r, \u2028 или \u2029). |
\d | Позволяет найти символ цифры в базовом латинском алфавите. Эквивалентен использованию набору символов [0-9]. |
\D | Позволяет найти любой символ, который не является цифрой в базовом латинском алфавите. Эквивалентен набору символов [^0-9]. |
\s | Позволяет найти одиночный пробельный символ. Под пробельным символом понимается пробел, табуляция, перевод страницы, перевод строки и другие пробельные символы Юникода. Эквивалентен набору символов [\f\n\r\t\v]. |
\S | Позволяет найти одиночный символ, который не является пробельным. Под пробельным символом понимается пробел, табуляция, перевод страницы, перевод строки и другие пробельные символы Юникода. Эквивалентен набору символов [^ \f\n\r\t\v]. |
[\b] | Позволяет найти символ backspace (специальный символ \b, U+0008). |
\0 | Позволяет найти символ 0 (ноль). |
\n | Позволяет найти символ новой строки. |
\f | Позволяет найти символ перевода страницы. |
\r | Позволяет найти символ возврата каретки. |
\t | Позволяет найти символ горизонтальной табуляции. |
\v | Позволяет найти символ вертикальной табуляции. |
\w | Позволяет найти любой буквенно-цифровой символ базового латинского алфавита, включая подчеркивание. Эквивалентен набору символов [A-Za-z0-9_]. |
\W | Позволяет найти любой символ, который не является символом из базового латинского алфавита. Эквивалентен набору символов [^a-Za-z0-9_]. |
\cX | Позволяет найти контрольный символ в строке. Где X - буква от A до Z. Например, /\cM/ обозначает символ Ctrl-M. |
\xhh | Позволяет найти символ, используя шестнадцатеричное значение (hh - двухзначное шестнадцатеричное значение). |
\uhhhh | Позволяет найти символ, используя кодировку UTF-16 (hhhh - четырехзначное шестнадцатеричное значение). |
\u{hhhh} или \u{hhhhh} | Позволяет найти символ со значением Юникода U+hhhh или U+hhhhh (шестнадцатеричное значение). Только когда задан флаг u. |
\ | Указывает, что следующий символ является специальным и не должен интерпретироваться буквально. Для символов, которые обычно трактуются специальным образом, указывает, что следующий символ не является специальным и должен интерпретироваться буквально. |
Символы | Описание |
---|---|
^ | Сопоставление производится с символом в начале строки (ввода). Если флаг m (multiline flag) указан, то сопоставление также производится с позицией следующей за символом переноса строки. |
$ | Сопоставление производится с символом в конце строки (ввода). Если флаг m (multiline flag) указан, то сопоставление также производится с позицией следующей перед символом переноса строки. |
\b | Позволяет выполнить поиск соответствия в начале или конце слова (например, позиция между буквой и пробелом). |
\B | Позволяет выполнить поиск соответствия не в начале или конце слова. |
Символы | Описание |
---|---|
n* | Сопоставление происходит с любой строкой, содержащей ноль или более вхождений символа n. |
n+ | Сопоставление происходит с любой строкой, содержащей хотя бы один символ n. |
n? | Сопоставление происходит с любой строкой с предшествующим элементом n ноль или один раз. |
n{x} | Соответствует любой строке, содержащей последовательность символов n определенное количество раз x. X должно быть целым положительным числом. |
n{x,} | Соответствует любой строке, содержащей по крайней мере x вхождений предшествующего элемента n. X должно быть целым положительным числом. |
n{x, y} | Соответствует любой строке, содержащей по крайней мере x, но не более, чем с y вхождениями предшествующего элемента n. X и y должны быть целыми положительными числами. |
n*? | |
n+? | |
n?? | |
n{x}? | |
n{x,}? | |
n{x,y}? | Сопоставление происходит по аналогии с квантификаторами *, +, ? и {…}, однако при этом поиск идет минимально возможного сопоставления. По умолчанию используется “жадный” режим, ? в конце квантификатора позволяет задать “нежадный” режим при котором повторение сопоставления происходит минимально возможное количество раз. |
x(?=y) | Позволяет сопоставить x, только если за x следует y. |
x(?!y) | Позволяет сопоставить x, только если за x не следует y. |
x|y | Сопоставление происходит с любой из указанных альтернатив. |
Символы | Описание |
---|---|
(x) | Позволяет найти символ x и запомнить результат сопоставления (“захватывающие скобки”). Сопоставленная подстрока может быть вызвана из элементов результирующего массива [1]…, [n], или из свойств предопределенного объекта RegExp $1 …, $9. |
(?:x) | Позволяет найти символ x, но не запоминать результат сопоставления (“незахватывающие скобки”). Сопоставленная подстрока не может быть вызвана из элементов результирующего массива [1]…, [n], или из свойств предопределенного объекта RegExp $1 …, $9. |
\n | Обратная ссылка на последнюю подстроку, совпадающую с n-ой по счёту в круглых скобках в регулярном выражении (нумерация скобок идет слева направо). n должно быть целым положительным числом. |
← Назад