Добавить в корзинуПозвонить
Найти в Дзене
WebTechnology

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

В прошлой статье мы с Вами начали учиться составлять регулярные выражения, однако, мы рассмотрели только первую часть возможностей: использование метасимволов. И сегодня мы с Вами рассмотрим квантификаторы (или как их ещё называют - квантификаторы повторений) в регулярных выражениях. Мы с Вами рассматривали метасимволы, И Вы должны помнить, что один метасимвол соответствует только одному символу. И это не всегда удобно, так как у нас может идти целая определённая последовательность символов. И вот для задания последовательности определённых символов используются квантификаторы повторений. Как и в прошлый раз, приведу таблицу с различными квантификаторами и их пояснением. КвантификаторЧто делает*Соответствие возникнет, если предыдущий символ будет повторяться любое число раз (в том числе и 0 раз).+Соответствие возникнет, если предыдущий символ будет повторяться хотя бы один раз. То есть отличие от квантификатора *, здесь требуется, чтобы предшествующий символ был бы хотя бы один раз.?С

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

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

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

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

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

/[0-9]?ab*/

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

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

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