Глоссарий

Что такое регулярные выражения

Как найти в тексте все числа из четырех цифр или все email-адреса? Рассказываем о регулярных выражениях — мощном инструменте для анализа и редактирования текстов, который используется программистами, специалистами в NLP и Digital Humanities, а также биоинформатиками. Регулярные выражения — это классика компьютерных методов обработки текстовых данных, они используются гораздо дольше, чем все новомодные методы, связанные с машинным обучением и нейросетями. Но до сих пор многие задачи проще и лучше всего решаются именно регулярками!

⚠️ Этот текст — максимально краткое введение в регулярные выражения. Если вы хотите разобраться подробнее, у «Системного Блока» есть большой гайд по регулярным выражениям в трёх частях: раз, два, три.

Что такое регулярные выражения?

Регулярные выражения (Regular Expression или Regex) — это инструмент для работы с текстом, который позволяет искать и изменять подстроки в тексте, соответствующие заданному шаблону.

К примеру, представим большой текстовый файл с данными о студентах: именами, фамилиями и адресами электронной почты. В этом файле необходимо найти все адреса, чтобы составить рассылку. У адресов электронной почты общая структура: они состоят из двух строк, разделённых символом «@», поэтому можно задать регулярное выражение, которое описывает эту структуру, и затем использовать его для поиска всех адресов.

Как устроены регулярные выражения?

Регулярные выражения состоят из символов, которые представляют определённые шаблоны и правила поиска. Вот некоторые из наиболее часто используемых:

  1. Символы. Обычные символы соответствуют сами себе. Например, выражение «abc» найдет все строки «abc» в тексте.
  2. Метасимволы — специальные символы, которые представляют классы символов. Например, символ «.» соответствует любому символу, а символ «\d» соответствует любой цифре.
  3. Группы и альтернация позволяют объединять символы в группы (границы группы обозначаются скобками) и искать альтернативы (альтернация обозначается символом «|»). Например, выражение «(abc|def)» найдет либо «abc», либо «def».
  4. Квантификаторы определяют количество повторений символа или группы символов. Символ «+» соответствует одному или более вхождению предыдущего символа или группы символов.

Приведём пример регулярного выражения, которое решает задачу поиска адресов электронной почты. Электронный адрес состоит из имени пользователя и доменного имени (gmail.com, mail.ru и так далее), эти две части разделены символом «@». Зададим регулярное выражение, которое решает эту задачу (для простоты примера предположим, что все домены находятся либо в ru, либо в com):

(.+)@(.+)\.(com|ru)

Это регулярное выражение содержит три группы:

  1. Группа (.+) (до символа «@») соответствует имени пользователя, которое представляет из себя хотя бы один (хотя бы единичное вхождение определяется квантификатором «+») символ (любой символ обозначается метасимволом «.»).
  2. Группа (.+), которая идет после символа «@», задаёт доменное имя.
  3. В группе (com|ru), которая идет после «\.» содержатся две строки: «com» и «ru», символом альтернации «|» мы говорим, что в тексте может содержаться либо «com», либо «ru».

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

Отметим, что на самом деле адреса электронных почт определяются большим количеством правил: так, например, имя пользователя не может содержать некоторые символы.

Где используются регулярные выражения?

Регулярные выражения используются для анализа текстов в NLP и Digital Humanities, в биоинформатике для поисков паттернов в геномах. Также программисты пользуются ими для быстрого редактирования текста кода и для валидации входных данных пользователя: проверки правильности введенной электронной почты, даты и других данных, которые должны следовать определённому шаблону.

Share

Recent Posts

Жесткая регуляция LLM в США, ИИ полностью прочитал обугленный свиток

США усилили контроль над лидирующими ИИ моделями, ученые смогли полностью прочитать античный свиток, не разворачивая его — что произошло в…

06.07.2026

От ИИ-агентов до малых языков: куда движется NLP в 2026 году

Агенты, которые самостоятельно планируют свои действия и пользуются внешними инструментами. Модели, способные работать с миллионами токенов. Системы, которые помогают сохранять…

02.07.2026

Национальный корпус русского языка вырос в шесть раз

Теперь в него входят тексты ВКонтакте — почти 11,3 млрд слов из соцсетей

30.06.2026