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

Класс 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()Возвращает строку, представляющую указанный объект.

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




Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
Ok