Введение в Python Regex

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

Синтаксис:

Мы собираемся понять синтаксис на примере. В качестве примера для этого мы можем искать строку, чтобы увидеть, начинается ли она с «Он» и заканчивается «умный».

import reword = "He is very smart"
x =re.search("^He.*smart$", word)
print(x)

Если вы посмотрите на синтаксис, он очень прост, вам просто нужно сначала импортировать пакет regex, а затем использовать любую из функций импортированного пакета в соответствии с вашими требованиями. Если мы запустим приведенный выше пример кода в Jupyter, мы получим следующий результат.

Функции регулярных выражений в Python

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

()

Он представляет собой набор символов.

,

Он представляет любой символ, кроме новой строки.

*

Он представляет ноль или более вхождений.

+

Он представляет одно или несколько вхождений.

^

Представляет начальный персонаж

$

Он представляет конечный символ.

|

Это представляет или-или.

()

Он представляет собой захват и группу.

\

Обычно используется для экранирования специальных символов

Regex также имеет несколько специальных последовательностей, которые будет полезно знать, например:

\ ш

Он показывает совпадение, если строка содержит какой-либо набор символов слова из (0-9), AZ или az и подчеркивания.

\ W

Возвращает совпадение, если в строке нет символов слова.

\ d

Эти возвраты совпадают, когда в строке есть цифры.

\ D

Он противоположен предыдущему, так как возвращает совпадение, если в строке нет цифр.

\ s

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

\ S

Возвращает совпадение, если в строке нет пробелов.

Функции, используемые для операций Regex

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

1. Функция findall (): эта функция присутствует в модуле re. Возвращает список всех совпадений, присутствующих в строке. Он перебирает слева направо по всей строке. Матчи также возвращаются в том же порядке поиска. Мы рассмотрим пример этого. Предположим, мы хотим найти все цифры, присутствующие в строке. Для этого мы будем использовать функцию findall (), в которой мы найдем все цифры, присутствующие в строке. Давайте посмотрим код для этого сейчас:

Код:

import re
word = "Raju is 22 years old and his mobile number last three-digit is 789"
rgex ='\d+'
x =re.findall(rgex, word)
print(x)

Если мы пройдемся по коду, нам в основном присваивается слово переменной со строкой, содержащей цифры, а затем передается соответствующий символ регулярного выражения для цифр вместе со словом переменной в качестве аргументов в функции findall ()

Теперь давайте посмотрим на результат.

Как видите, мы получаем список чисел в результате.

2. функция search (): функция поиска используется для поиска шаблонов в строке и, если совпадение найдено, возвращает объект. Здесь нужно помнить одну вещь: если существует более одного совпадения, тогда возвращается только первое вхождение. Если совпадений не найдено, то ничего не возвращается. Мы увидим пример для этого предположения, если мы хотим найти строку, которая начинается с определенного слова. Мы проверим как положительные, так и отрицательные совпадения. Давайте посмотрим код для того же.

Код:

import re
word = "Raju is 22 years old"
rgex ='^Raju'
x =re.search(rgex, word)
print(x)
regex1= '^Mohan'
x1 = re.search(regex1, word)
print(x1)

Здесь переменная 'regex' используется в положительном сценарии, а переменная 'regex1' для отрицательного сценария. Теперь, пожалуйста, смотрите вывод.

В первом случае мы возвращаем объект сопоставления, а во втором случае возвращаем None.

3. Функция Split (): эта функция разбивает строку после каждого совпадения, что означает, что как только в строке есть совпадение, эта функция разбивает строку оттуда. Итак, если будет три матча, будет три сплита. Мы увидим пример. Предположим, мы хотим разбить строку после каждого пробела. Таким образом, мы можем использовать эту функцию разделения для хорошего использования в этой ситуации.

Код:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.split(rgex, word)
print(x)

Здесь узоры представляют собой пробелы. Теперь давайте посмотрим на результат.

Как вы можете видеть на выходе, строка разделяется после каждого пробела.

4. функция sub (): эта функция заменяет совпадения строкой или символом по выбору пользователя. В основном это означает, что если в строке есть совпадение, он заменит этот соответствующий символ или строку вашей строкой или символом и вернет измененную строку. Требуется три аргумента. Например, мы просто заменим пробел на '&' в нашей строке.

Код:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.sub(rgex, '&', word)
print(x)

Теперь давайте посмотрим на вывод для приведенного выше кода.

Как видите, все пробелы были заменены на «&».

Вывод

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

Рекомендуемые статьи

Это руководство по Python Regex. Здесь мы обсуждаем Введение в Python Regex и некоторые важные функции регулярных выражений вместе с примером. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Пока Loop в Python
  2. Обратный номер в Python
  3. Ключевые слова Python
  4. Наборы Python
  5. Ключевые слова PHP
  6. C ++ Ключевые слова