Регулярное выражение — это объект, который описывает шаблон символов. Регулярные выражения часто сокращаются как « регулярное выражение » или « регулярное выражение ».
Класс 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 ()