В прошлой статье мы с Вами начали учиться составлять регулярные выражения, однако, мы рассмотрели только первую часть возможностей: использование метасимволов . И сегодня мы с Вами рассмотрим квантификаторы (или как их ещё называют - квантификаторы повторений ) в регулярных выражениях.

Квантификаторы в регулярных выражений

В прошлой статье мы с Вами начали учиться составлять регулярные выражения, однако, мы рассмотрели только первую часть возможностей: использование метасимволов. И сегодня мы с Вами рассмотрим квантификаторы (или как их ещё называют - квантификаторы повторений) в регулярных выражениях.

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

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

Квантификатор Что делает
* Соответствие возникнет, если предыдущий символ будет повторяться любое число раз (в том числе и 0 раз).
+ Соответствие возникнет, если предыдущий символ будет повторяться хотя бы один раз. То есть отличие от квантификатора *, здесь требуется, чтобы предшествующий символ был бы хотя бы один раз.
? Соответствие возникнет, если предыдущего символа вообще не было, либо он был только один раз.
{n} Соответствие возникнет, если предыдущий символ будет повторяться ровно n раз.
{n,} Соответствие возникнет, если предыдущий символ будет повторяться n или более раз.
{n,m} Соответствие возникнет, если предыдущий символ будет повторяться от n до m раз.

Здесь всё прозрачно, однако, наверняка у Вас возникет вопрос, что это за такой "предыдущий символ"?. Собственно, это предыдущий символ регулярного выражения, в частности, метасимвол. Давайте приведу пример, чтобы стало всё понятнее:

/[0-9]?ab*/

Переведу данное регулярное выражение на русский язык. Строка, которая "содержит последовательность символов, начинающуюся с цифры, либо с её отсутствия, затем идёт один символ "a", а потом любое число раз символа "b"", будет соответствовать регулярному выражению, написанному выше.

Например, такая строка будет соответствовать данному регулярному выражению: "не_важно_что0abbbbbне_важно_что", либо такая "ab", либо такая "a".

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