Python

Регулярные выражения в Python

Регулярные выражения в Python
В этой статье мы кратко рассмотрим регулярные выражения в Python. Мы будем работать над встроенными функциями с примерами, за которыми последует таблица, в которой объясняется, что означает каждый символ в регулярном выражении, для лучшего понимания.

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

Прежде чем перейти к практическим примерам, нам нужно знать, что на самом деле представляет собой регулярное выражение. Регулярное выражение - это последовательность символов, которая определяет структуру ввода или шаблон поиска. Представьте, что вы вводите адрес электронной почты или пароль на случайном веб-сайте, таком как Facebook, Twitter или Microsoft. Попытайтесь сказать это неправильно, и под неправильным я имею в виду попробовать пойти против их соглашения. Он четко укажет вам на эти ошибки. Вам не будет разрешено перейти к следующему шагу, пока ваш ввод не будет соответствовать шаблону, который они установили в бэкэнде. Этот конкретный шаблон, который не позволяет вам вводить какую-либо дополнительную или не относящуюся к делу информацию, известен как регулярное выражение или регулярное выражение.

Регулярные выражения в Python

Регулярные выражения играют в Python такую ​​же роль, как и в других языках программирования. Python содержит модуль повторно который обеспечивает полную поддержку использования регулярных выражений. Каждый раз, когда вводится неподходящая или несовместимая информация или возникает какая-либо ошибка, это повторно модуль собирается перехватить это как исключение, которое в конечном итоге поможет решить необходимые проблемы.

Шаблоны регулярных выражений

Доступно множество символов, записанных в последовательности, образующей определенный шаблон регулярного выражения. За исключением управляющих символов, (+ ? . * ^ $ () [] | \), все персонажи соответствуют себе. Однако управляющие символы можно экранировать, предварительно написав обратную косую черту.

Ниже приведена таблица, которая состоит из шаблона и описания их работы в Python.

Шаблон Описание
[Pp] ython Соответствие «Python» или «python»
Ванна [Ee] Матч "TubE" или "Tube"
[aeiou] Соответствует любой гласной в нижнем регистре
[0-9] Соответствует любой цифре от 0 до 9
[а-я] Соответствует любой строчной букве ASCII
[А-Я] Соответствует любой заглавной букве ASCII
[a-zA-Z0-9] Соответствует любой строчной или прописной букве ASCII
или цифра от 0 до 9
[^ aeiou] Сопоставлять все, кроме гласных в нижнем регистре
[^ 0-9] Совпадает с чем угодно, кроме цифры
. Соответствует любому символу, кроме новой строки
\ d Соответствует любой цифре: [0-9]
\ D Соответствует нецифровой: [^ 0-9]
\ s Сопоставление пробелов
\ S Соответствие не пробелам
\ A Соответствует началу строки
\ Z Соответствует концу строки
\ w Соответствие словесных символов
\ W Соответствие несловесным символам
[…] Соответствует любому одиночному символу в скобках
[^…] Соответствует любому одиночному символу, не указанному в скобках
$ Сопоставьте конец строки
^ Соответствует началу строки

Функции сопоставления и поиска в Python

Теперь мы увидим два примера с двумя встроенными функциями, которые существуют в python. Один из них соответствует, а другой - функция поиска. Оба они имеют одинаковые параметры, а именно:

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

Что происходит, так это то, что когда используются функции сопоставления или поиска, он создает подгруппы всех связанных шаблонов, найденных в строках, и структурирует их в позициях, начинающихся с 0. См. Пример ниже, чтобы лучше понять.

Функция соответствия (пример)

В следующем примере мы взяли список, в котором мы использовали регулярное выражение, которое проверяет слова, начинающиеся с буквы 'a', и будет выбирать, только если оба слова начинаются с одной и той же буквы i.е.: 'а'.

импортный ре
Arraylist = [«аффект привязанности», «акт привязанности», «программирование привязанности»]
для элемента в arraylist:
k = re.match («(a \ w +) \ W (g \ w +)», элемент)
если k:
печать ((z.группы ()))

Выход:

('привязанность', 'аффект')
('привязанность', 'действовать')

Третий элемент в списке не будет рассматриваться, поскольку он не соответствует регулярному выражению, в котором говорится, что оба слова должны начинаться с 'a'.

Функция поиска (пример)

Эта функция отличается от матча. Поиск просматривает все предложение, а поиск не дает. В следующем примере метод поиска успешен, но функция сопоставления не работает.

импортный ре
Input = «DocumentationNew»
v = re.поиск («(ta.*)", Вход)
если v:
print («результат:» v.группа 1))

Выход:

результат: tationNew

'та.* 'означает что-либо после' ta ', что дает нам результат как' tationNew 'из искомого Input «DocumentationNew».

Заключение

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

5 лучших аркад для Linux
В настоящее время компьютеры - это серьезные машины, используемые для игр. Если вы не можете получить новый рекорд, вы поймете, о чем я. В этом посте ...
Битва за Веснот 1.13.6 Выпущена разработка
Битва за Веснот 1.13.6, выпущенная в прошлом месяце, является шестой разработкой в ​​1.13.x и содержит ряд улучшений, в первую очередь пользовательско...
Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...