Рассмотрим, как с помощью регулярных выражений мы можем находить похожие сочетания символов.
Чтобы найти в строке любую из двух подстрок: gray
или grow
, воспользуемся механизмом, который называется "альтернатива": укажем первый возможный вариант и через вертикальную черточку — второй. Видим следующее сопоставление:
/gray|grow
/
gray
grow
grey
Это же условие можно записать немного короче. Поскольку у этих подстрок есть общая часть, укажем символы gr
и дальше, используя группировку, добавим альтернативу:
/gr(ay|ow)
/
gray
grow
grey
Здесь очень важна группировка. Если мы ее уберем, альтернативой gray
станет ow
:
/gray|ow
/
gray
grow
grey
Ниже ещё один интересный пример использования альтернативы. В английском языке есть слово gray
/grey
, которое в обоих случаях звучит одинаково, однако в британском и американском вариантах имеет разное написание. Чтобы не упустить в тексте ни один из вариантов, мы можем использовать лаконичную альтернативу:
/gr(a|e)y
/
gray
grow grey
А можем упростить получившееся выражение, поскольку в альтернативе используются одиночные символы. Укажем символьный класс, который состоит из символов a
и e
:
/gr[ae]y
/
gray
grow grey
В этом случае механизм регулярных выражений, который занимается сопоставлением, намного эффективнее работает с символьными классами, тем более — одиночными.
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт