Что такое регулярное выражение?
Прежде чем перейти к практическим примерам, нам нужно знать, что на самом деле представляет собой регулярное выражение. Регулярное выражение - это последовательность символов, которая определяет структуру ввода или шаблон поиска. Представьте, что вы вводите адрес электронной почты или пароль на случайном веб-сайте, таком как 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,1,2…)
Что происходит, так это то, что когда используются функции сопоставления или поиска, он создает подгруппы всех связанных шаблонов, найденных в строках, и структурирует их в позициях, начинающихся с 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.