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

Регулярные выражения. Метасимволы

📌 Больше полезных статей по информатике и программированию вы можете найти у нас на сайте. 📢 Следить за новостями мира информатики, а также общаться, делиться впечатлениями и готовиться к экзаменам лучше вместе, в нашем Telegram-канале. Это вторая статья из цикла про регулярные выражения. Остальные доступны по ссылкам ниже: Подобно строкам в Python, регулярные выражения могут содержать метасимволы «.^$*+?{}[]\|()». Также существует ряд букв, которые при экранировании знаком «\» превращаются в определённые шаблоны. Поставив точку внутри регулярного выражения, вы обозначите один любой символ, кроме символа новой строки «\n». В примерах далее подстрока, соответствующая регулярному выражению, будет отмечаться жирным шрифтом. Метасимвол внутри регулярного выражения также будет обозначаться жирным. Найденные подстроки будем возвращать функцией findall(), а для наглядности, функцией sub() будем заменять их на «***». Например, выражению «к.т» будут соответствовать: «кот, кит, каток, Скотт» С
Оглавление

📌 Больше полезных статей по информатике и программированию вы можете найти у нас на сайте.

📢 Следить за новостями мира информатики, а также общаться, делиться впечатлениями и готовиться к экзаменам лучше вместе, в нашем Telegram-канале.

Это вторая статья из цикла про регулярные выражения.

Остальные доступны по ссылкам ниже:

Метасимволы

Подобно строкам в Python, регулярные выражения могут содержать метасимволы «.^$*+?{}[]\|()». Также существует ряд букв, которые при экранировании знаком «\» превращаются в определённые шаблоны.

Символ «.»

Поставив точку внутри регулярного выражения, вы обозначите один любой символ, кроме символа новой строки «\n».

В примерах далее подстрока, соответствующая регулярному выражению, будет отмечаться жирным шрифтом. Метасимвол внутри регулярного выражения также будет обозначаться жирным. Найденные подстроки будем возвращать функцией findall(), а для наглядности, функцией sub() будем заменять их на «***».

Например, выражению «к.т» будут соответствовать: «кот, кит, каток, Скотт»

-2

Символ «\d»

Символом «\d» обозначается любая цифра (арабская, то есть от 0 до 9).

Например, шаблону «ab\d\d» будут соответствовать: «ab12, ab56», но не «bc34».

-3

Символ «\D»

Символ «\D» исключает все цифры, то есть обозначает любой символ кроме цифры.

Например, выражению «1\D2» будет соответствовать: «1!2, 121+212, ab1c2d, a1 2b».

-4

Символ «\s»

Данный символ обозначает любой пробельный символ: пробел, табуляция, конец строки.

Например, выражению «1\s2» будет соответствовать: «1 2, a1 2b, 1\n2, 1\t2».

-5

Символ «\S»

Этот символ, наоборот, соответствует любому не пробельному символу. Так, выражению «\S123» будет соответствовать: «abc123, 01234, !!!123».

-6

Символ «\w»

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

Например, выражению «\w\w» будут соответствовать две идущие подряд буквы или цифры или знаки нижнего подчеркивания: «шаг, ask, __u, 12-, abc».

-7

Символ «\b»

Символ «\b» позволяет указать границу слова. Если поставить его с обоих концов регулярного выражения, то это будет означать, что требуется найти только подстроку, которая содержит в себе этот шаблон, а слева и справа от неё пусто или не буква (знак препинания, нижнего подчеркивания и т.д.).

Вспомните наш пример для символа точки. Тогда вместо ожидаемого кота и кита мы еще получили каток и какого-то Скотта. Давайте ограничим шаблон «к.т» с обеих сторон символами «\b» чтобы найти только трёхбуквенные слова, первая буква которых – к, а третья – т.

-8

Символ «\B»

Символ «\B», напротив, указывает не границу слова. То есть шаблон, с обеих сторон которого находится символ «\B», должен быть именно внутри слова (окружён не пробельными символами).

Например, найдём все подстроки «по», которые находятся внутри слова:

-9

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