Для сохранения прогресса вступите в курс. Войти или зарегистрироваться.

Конспект урока

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

Чтобы найти в строке любую из двух подстрок: grey или 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


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

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →