Регулярные выражения и объект RegExp

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

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

Синтаксис

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

var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;

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

  • pattern - Строка, определяющая шаблон регулярного выражения или другого регулярного выражения.

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

Скобки

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

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

[...]

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

2

[^...]

Любой символ, не заключенный в скобки.

3

[0-9]

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

4

[a-z]

Соответствует любому символу в нижнем регистре a через строчные буквы z.

5

[A-Z]

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

6

[a-Z]

Соответствует любому символу в нижнем регистре a через прописные буквы Z.

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

Квантификаторы

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

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

p+

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

2

p*

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

3

p?

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

4

p{N}

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

5

p{2,3}

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

6

p{2, }

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

7

p$

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

8

^p

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

Примеры

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

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

[^a-zA-Z]

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

2

p.p

Соответствует любой строке, содержащей p, за которым следует любой символ, за которым по очереди следует другой p.

3

^.{2}$

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

4

<b>(.*)</b>

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

5

p(hp)*

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

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

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

Alphanumeric

Сам

2

\0

Символ NUL (\ u0000)

3

\t

Табуляция (\ u0009

4

\n

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

5

\v

Вертикальная табуляция (\ u000B)

6

\f

Подача формы (\ u000C)

7

\r

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

8

\xnn

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

9

\uxxxx

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

10

\cX

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

Метасимволы

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

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

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

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

.

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

2

\s

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

3

\S

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

4

\d

цифра (0-9)

5

\D

нецифровый

6

\w

словесный символ (az, AZ, 0-9, _)

7

\W

несловесный символ

8

[\b]

буквальный пробел (особый случай).

9

[aeiou]

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

10

[^aeiou]

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

11

(foo|bar|baz)

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

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

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

Sr. No. Модификатор и описание
1

i

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

2

m

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

3

g

Выполняет глобальное сопоставление, то есть находит все совпадения, а не останавливается после первого совпадения.

Свойства RegExp

Вот список свойств, связанных с RegExp, и их описание.

Sr. No. Описание недвижимости
1 constructor

Specifies the function that creates an object's prototype.

2 global

Specifies if the "g" modifier is set.

3 ignoreCase

Specifies if the "i" modifier is set.

4 lastIndex

The index at which to start the next match.

5 multiline

Specifies if the "m" modifier is set.

6 source

The text of the pattern.

In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.

RegExp Methods

Here is a list of the methods associated with RegExp along with their description.

Sr.No. Method & Description
1 exec()

Executes a search for a match in its string parameter.

2 test()

Tests for a match in its string parameter.

3 toSource()

Returns an object literal representing the specified object; you can use this value to create a new object.

4 toString()

Returns a string representing the specified object.

In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.