Регулярное выражение - это объект, который описывает шаблон символов.

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

Синтаксис

Регулярное выражение может быть определено с помощью конструктора RegExp(), а именно:

var pattern = new RegExp(pattern, attributes);

или проще -

var pattern = /pattern/attributes;

Вот описание параметров -

  • Pattern - Строка, которая задает шаблон регулярного выражения или другого регулярного выражения.
  • Attributes - необязательная строка, содержащая любые атрибуты «g», «i» и «m», которые определяют глобальные, не зависящие от регистра и многострочные совпадения, соответственно.

Скобки в RegExp

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

Выражение Описание
[...]Любой символ между скобками.
[^...]Любой символ не находится между скобками.
[0-9]Он соответствует любой десятичной цифре от 0 до 9.
[AZ]Он соответствует любому символу от нижнего регистра a до нижнего регистра z.
[AZ]Он соответствует любому символу в верхнем регистре A в верхнем регистре Z.
[Az]Он соответствует любому символу от нижнего регистра a до верхнего регистра Z.

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

Кванторы

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

Выражение Описание
p+Он соответствует любой строке, содержащей хотя бы один p.
p*Он соответствует любой строке, содержащей ноль или более p.
p?Он соответствует любой строке, содержащей один или несколько p.
p{N}Он соответствует любой строке, содержащей последовательность из N p
р{2,3}Он соответствует любой строке, содержащей последовательность из двух или трех p.
p{2,}Он соответствует любой строке, содержащей последовательность не менее двух p.
р$Он соответствует любой строке с p в конце ее.
^pОн соответствует любой строке с p в начале ее.
Примеры

Следующие примеры объясняют больше о совпадении символов.

Выражение Описание
[^A-Za-Z]Он соответствует любой строке, не содержащей ни одного символа в диапазоне от a до z и от A до Z.
p.pОн соответствует любой строке, содержащей p, за которой следует любой символ, в свою очередь, за которым следует другой p.
^.{2}$Он соответствует любой строке, содержащей ровно два символа.
b(.*)/bОн соответствует любой строке, заключенной внутри b и /b.
p(hp)*Он соответствует любой строке, содержащей p, за которой следуют ноль или более экземпляров последовательности hp.

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

Выражение Описание
AlphanumericSelf
\ 0Символ NUL (\ u0000)
\ тВкладка (\ u0009)
\ пНовая строка (\ u000A)
\ vВертикальная вкладка (\ u000B)
\ еПодача формы (\ u000C)
Возврат каретки (\ u000D)
\ ХппЛатинский символ, заданный шестнадцатеричным числом nn; например, \ x0A совпадает с \ n
\uxxxxСимвол Юникода, заданный шестнадцатеричным числом xxxx; например, \ u0009 совпадает с \ t
\ сХУправляющий символ ^ X; например, \ cJ эквивалентно символу новой строки \ n

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

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

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

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

Выражение Описание
.один символ
\sсимвол пробела (пробел, табуляция, новая строка)
\Sне-пробельный символ
\dцифра (0-9)
\Dне цифра
\wсимвол слова (a-z, A-Z, 0-9, _)
\Wсимвол без слова
[\b]буквальное обратное пространство (специальный случай).
[aeiou]соответствует одному символу в заданном наборе
[^aeiou]соответствует одному символу за пределами заданного набора
(foo|bar|baz)соответствует любой из указанных альтернатив

Модификаторы RegExp

Доступны несколько модификаторов, которые могут упростить работу с регрессией, например, чувствительность к регистру, поиск по нескольким строкам и т.д.

Выражение Описание
iВыполните нечувствительность к регистру.
mУказывает, что если строка имеет символы новой строки или символа возврата каретки, операторы ^ и $ теперь будут сопоставляться с границей новой строки, а не с границей строки
gВыполняет глобальное соответствие, которое соответствует всем совпадениям, а не остановке после первого совпадения.

Свойства RegExp

Ниже приведен список свойств, связанных с RegExp и их описанием.

Свойство Описание
constructorУказывает функцию, которая создает прототип объекта.
globalУказывает, установлен ли модификатор «g».
ignoreCaseУказывает, установлен ли модификатор «i».
lastIndexИндекс, с которого нужно начать следующий матч.
multilineУказывает, установлен ли модификатор «m».
sourceТекст шаблона.

Методы RegExp

Ниже приведен список методов, связанных с RegExp, а также их описание.

Свойство Описание
exec()Выполняет поиск соответствия в своем строковом параметре.
test()Тесты для соответствия в параметре строки.
toSource()Возвращает литерал объекта, представляющий указанный объект; вы можете использовать это значение для создания нового объекта.
toString()Возвращает строку, представляющую указанный объект.



Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok