Гайды

Регулярные выражения. Часть 3

Экранирование символов, волшебная точка и поиск всего чего угодно. Продолжение серии уроков по регулярным выражениям

Прошлые уроки

Не помните, что такое регулярное выражение и как выделить все числа в тексте «33 богатыря, 1001 ночь»? Повторите
Часть 1. Что такое регулярные выражения? Классы символов.

Не помните, как найти все заглавные буквы в слове ПрИвЕтиКи? Повторите
Часть 2. Наборы и диапазоны. Отрицания

Классы и наборы: повторение

Классы символов мы задавали следующим образом:

\d — 1 р.

\D — 1 р.

Наборы и диапазоны — так:

[123] — 40 мертвецов и 1 бутылка рома

[А-Я] — ПрИвЕтиКи

Отрицание набора символов

Наборы символов, как и классы, можно отрицать. Для этого сразу после первой квадратной скобки нужно поставить знак карет ^:

[^А-Я] — найдёт всё, кроме заглавных букв кириллицы: «кАПС»

[^ауоыиэяюёе] — найдёт всё, кроме строчных гласных: «велосипедист»

Ищем любой символ

Как быть, если мы хотим найти вообще любой символ? В регулярных выражениях для этого есть особый знак — точка. Точка находит любой символ за исключением переноса строки. Например:

.+ найдёт «▥Flบffy$heeⓟⁿ»

Такие символы, которые обозначают не себя, а что-то другое, называются метасимволами. 

Ищем точку

Хорошо, а как найти саму точку, если нужна только она? Для этого перед точкой нужно поставить \.

\. будет соответствовать именно точка. 

\. Найдет 3.14

Такой прием называется экранированием. Экранировать можно любой метасимвол. Например, + — как вы помните, это тоже особый символ (он обозначает, что предыдущий символ повторяется от 1 до бесконечности раз).

1+ найдет 1111111

1\+ найдет 1+

Сам \ тоже можно экранировать — ведь это тоже метасимвол. 

\\ найдет \

Таблица символов — здесь можно посмотреть все метасимволы

Упражнение урока

Как найти предложение, в начало которого затесался странный символ?

Личный попугай капитана Флинта изучил 1561 ругательств на разных языках. 271 ругательство на английском, 352 на французском и 127 на испанском. &остальные попугай почерпнул из могучего русского языка.

\. . найдёт все случаи, когда после точки в конце предложения есть пробел и любой другой символ.

. \W точка не экранирована и найдёт любые символы. Кроме того, \W означает «не цифра и не латинская буква», то есть выражение дополнительно найдёт буквы кириллицы.

\. [^А-я0-9] верный вариант. Найдёт все случаи, когда после точки с пробелом стоит не буква и не цифра. Можно улучшить: \. [^А-Я0-9] Тогда выражение найдёт ещё и случаи, когда в начале предложения стоит строчная буква.

\. ^[А-я0-9] некорректное выражение. Для отрицания диапазона знак карет ^ должен стоять внутри скобок.

Share

Recent Posts

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

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

06.07.2026

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

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

02.07.2026

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

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

30.06.2026