Учебники

ES6 — RegExp

Регулярное выражение — это объект, который описывает шаблон символов. Регулярные выражения часто сокращаются как « регулярное выражение » или « регулярное выражение ».

Класс JavaScript RegExp представляет регулярные выражения, а String и RegExp определяют методы, которые используют регулярные выражения для выполнения мощных функций сопоставления с образцом и поиска и замены текста.

Регулярное выражение может быть определено как —

var pattern = new RegExp(pattern, attributes); 
OR 
var pattern = /pattern/attributes;

Атрибут может иметь любую комбинацию из следующих значений.

Sr.No Атрибут и описание
1

г

Глобальный матч

2

я

Игнорировать дело

3

M

Multiline; начальные и конечные символы (^ и $) обрабатываются как работающие над несколькими строками (т. е. соответствуют началу или концу каждой строки (ограничены \ n или \ r), а не только самому началу или концу всей входной строки )

4

U

Unicode; обрабатывать шаблон как последовательность кодовых точек юникода

5

Y

Sticky; совпадает только с индексом, указанным свойством lastIndex этого регулярного выражения в целевой строке (и не пытается совпадать с любыми более поздними индексами)

г

Глобальный матч

я

Игнорировать дело

M

Multiline; начальные и конечные символы (^ и $) обрабатываются как работающие над несколькими строками (т. е. соответствуют началу или концу каждой строки (ограничены \ n или \ r), а не только самому началу или концу всей входной строки )

U

Unicode; обрабатывать шаблон как последовательность кодовых точек юникода

Y

Sticky; совпадает только с индексом, указанным свойством lastIndex этого регулярного выражения в целевой строке (и не пытается совпадать с любыми более поздними индексами)

Построение регулярных выражений

Скобки

Скобки ([]) имеют особое значение при использовании в контексте регулярных выражений. Они используются, чтобы найти диапазон символов.

Sr.No Выражение и описание
1

[…]

Любой символ в скобках

2

[^ …]

Любой символ не в скобках

3

[0-9]

Соответствует любой десятичной цифре от 0 до 9

4

[AZ]

Соответствует любому символу от строчной до строчной z

5

[AZ]

Соответствует любому символу от прописных букв A до прописных Z

6

[Az]

Соответствует любому символу от строчной буквы до заглавной буквы Z

[…]

Любой символ в скобках

[^ …]

Любой символ не в скобках

[0-9]

Соответствует любой десятичной цифре от 0 до 9

[AZ]

Соответствует любому символу от строчной до строчной z

[AZ]

Соответствует любому символу от прописных букв A до прописных Z

[Az]

Соответствует любому символу от строчной буквы до заглавной буквы Z

Указанные выше диапазоны являются общими; Вы также можете использовать диапазон [0-3], чтобы соответствовать любой десятичной цифре в диапазоне от 0 до 3, или диапазон [bv], чтобы соответствовать любому символу в нижнем регистре в диапазоне от b до v.

Кванторы

Частота или положение последовательностей символов в квадратных скобках и отдельных символов могут быть обозначены специальным символом. Каждый специальный символ имеет определенную коннотацию. Флаги +, *,? И $ следуют за последовательностью символов.

Sr.No Выражение и описание
1

р +

Соответствует любой строке, содержащей хотя бы один p .

2

п*

Соответствует любой строке, содержащей ноль или более p

3

п?

Соответствует любой строке, содержащей один или несколько символов p

4

р {N}

Соответствует любой строке, содержащей последовательность из N p

5

р {2,3}

Соответствует любой строке, содержащей последовательность из двух или трех символов p

6

p {2,}

Соответствует любой строке, содержащей последовательность из не менее двух p

7

р $

Соответствует любой строке с p в конце

8

^ р

Соответствует любой строке с p в начале

9

[^ A-Za-Z]

Соответствует любой строке, не содержащей символов из диапазона от a до z и от A до Z

10

стр

Он соответствует любой строке, содержащей p , за которой следует любой символ, за которым следует другой p

11

^. {2} $

Соответствует любой строке, содержащей ровно два символа

12

<б> (. *) </ B>

Соответствует любой строке, заключенной в <b> и </ b>

13

р (л.с.) *

Соответствует любой строке, содержащей p, за которым следует ноль или более экземпляров последовательности hp

р +

Соответствует любой строке, содержащей хотя бы один p .

п*

Соответствует любой строке, содержащей ноль или более p

п?

Соответствует любой строке, содержащей один или несколько символов p

р {N}

Соответствует любой строке, содержащей последовательность из N p

р {2,3}

Соответствует любой строке, содержащей последовательность из двух или трех символов p

p {2,}

Соответствует любой строке, содержащей последовательность из не менее двух p

р $

Соответствует любой строке с p в конце

^ р

Соответствует любой строке с p в начале

[^ A-Za-Z]

Соответствует любой строке, не содержащей символов из диапазона от a до z и от A до Z

стр

Он соответствует любой строке, содержащей p , за которой следует любой символ, за которым следует другой p

^. {2} $

Соответствует любой строке, содержащей ровно два символа

<б> (. *) </ B>

Соответствует любой строке, заключенной в <b> и </ b>

р (л.с.) *

Соответствует любой строке, содержащей p, за которым следует ноль или более экземпляров последовательности hp

Буквальные символы

Sr.No Характер и описание
1

алфавитноцифровой

Сам

2

\ 0

НУЛЕВОЙ символ (\ u0000)

3

\ т

Tab (\ u0009)

4

\ п

Новая строка (\ u000A)

5

\ v

Вертикальная вкладка (\ u000B)

6

\ е

Форм подачи (\ u000C)

7

Возврат каретки (\ u000D)

8

\ Хпп

Латинский символ, указанный шестнадцатеричным числом nn; например, \ x0A совпадает с \ n

9

\ ихххх

Символ Unicode, указанный шестнадцатеричным числом xxxx ; например, \ u0009 совпадает с \ t

10

\ сХ

Управляющий символ ^ X; например, \ cJ эквивалентен символу новой строки \ n

алфавитноцифровой

Сам

\ 0

НУЛЕВОЙ символ (\ u0000)

\ т

Tab (\ u0009)

\ п

Новая строка (\ u000A)

\ v

Вертикальная вкладка (\ u000B)

\ е

Форм подачи (\ u000C)

Возврат каретки (\ u000D)

\ Хпп

Латинский символ, указанный шестнадцатеричным числом nn; например, \ x0A совпадает с \ n

\ ихххх

Символ Unicode, указанный шестнадцатеричным числом xxxx ; например, \ u0009 совпадает с \ t

\ сХ

Управляющий символ ^ X; например, \ cJ эквивалентен символу новой строки \ n

Мета-символы

Мета-символ — это просто алфавитный символ, которому предшествует обратный слеш, который придает комбинации особое значение.

Например, вы можете искать большую сумму денег, используя метасимвол ‘\ d’ : / ([\ d] +) 000 /. Здесь \ d будет искать любую строку числового символа.

В следующей таблице приведен набор метасимволов, которые можно использовать в регулярных выражениях стиля PERL.

,

Один персонаж

\ s

Пробельный символ (пробел, табуляция, новая строка)

\ S

Не пробельный символ

\ d

Цифра (0-9)

\ D

Не цифра

\ ш

Символ слова (az, AZ, 0-9, _)

\ W

Несловарный символ

[\ Ь]

Буквальный забой (особый случай)

[AEIOU]

Соответствует одному символу в данном наборе

[^ AEIOU]

Соответствует одному символу за пределами данного набора

(Foo | Бар | БАЗ)

Соответствует любой из указанных альтернатив

Строка, содержащая флаги объекта RegExp

Проверять ли регулярное выражение на предмет всех возможных совпадений в строке или только на первом

Следует ли игнорировать регистр при попытке сопоставления в строке

Нужно ли искать строки в нескольких строках

Текст выкройки

Является ли поиск липким

Выполняет поиск совпадения в своем строковом параметре

Проверяет совпадение в его строковом параметре

Выполняет сопоставление с заданной строкой и возвращает результат сопоставления

Заменяет совпадения в заданной строке новой подстрокой

Ищет совпадение в заданной строке и возвращает индекс шаблона, найденного в строке

Разбивает заданную строку в массив путем разделения строки на подстроку

Возвращает строку, представляющую указанный объект. Переопределяет методObject.prototype.toString ()