Въведение в Python Regex

Python е модното слово в съвременната технологична индустрия. Това е език, който набира популярност с бързи темпове. Той е много динамичен език и може да се използва за изграждане на уеб приложения за алгоритми за машинно обучение. В тази статия ще научим как Regex се използва в Python. Регексът е кратка форма на Regular Expression и в основата си е последователност от знаци, която може да се използва като шаблон. Хубавото е, че Python има собствен вграден пакет Regex, известен като re.

Синтаксис:

Ще разберем Синтаксиса с пример. Примерът за това можем да търсим низ, за ​​да видим дали започва с „Той“ и завършва с „умен“.

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

Ако погледнете синтаксиса, това е много просто, просто трябва първо да импортирате пакета regex, който е отново и след това да използвате някоя от функциите на импортирания пакет според вашето изискване. Ако стартираме горния примерен код в Jupyter, получаваме следния резултат.

Функции на Regex в Python

Има много регулярни функции, които ни помагат да търсим низ за съвпадение. Преди това първо ще научим за героите, които обикновено виждаме във функция за регекс.

()

Той представлява набор от знаци.

,

Той представлява всеки символ, с изключение на нов ред.

*

Той представлява нула или повече събития.

+

Той представлява едно или повече събития.

^

Той представлява началния характер

$

Той представлява завършващия символ.

|

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

()

Той представлява улавяне и групиране.

\

Обикновено се използва за бягство от специални символи

Regex също има няколко специални последователности, които ще бъдат полезни да знаете например:

\ w

Показва съвпадение, ако низът има някакъв набор от символи на думи от (0-9), AZ или az и подчертаване.

\ W

Той връща съвпадение, ако низът няма присъстващи символи на думи.

Тези връщания съвпадат, когато в низа има цифри.

То е противоположно на предишното, тъй като връща съвпадение, ако в низа няма цифри.

Използва се за проверка за знаци с бяло интервал в низ. Той връща съвпадение, ако присъстват бели символи за интервал.

Той връща съвпадение, когато в низа няма бели интервали.

Функции, използвани за Regex операции

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

1. findall () функция: Тази функция присъства в повторен модул. Връща списък на всички съвпадения, присъстващи в низ. Той повтаря отляво надясно през низа. Мачовете също се връщат в абсолютно същия ред на търсене. Ще преминем през пример за това. Да предположим, че искаме да намерим всички цифри, присъстващи в низ. За това ще използваме функцията 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. Разделяне () функция: Тази функция разделя низа след всяко съвпадение, което означава, че щом има съвпадение в низ, тази функция разделя низ от там. Така че, ако има три мача, тогава ще има три разделяния. Ще видим пример. Да предположим, че искаме да разделим низ след всяко интервал. Така че можем да използваме тази разделителна функция за добро използване в тази ситуация.

Код:

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)

Сега нека разгледаме изхода за горния код.

Както можете да видите, всички интервали бяха заменени с „&“.

заключение

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

Препоръчителни статии

Това е ръководство за Python Regex. Тук обсъждаме Въведение в Python Regex и някои важни функции на регекс заедно с пример. Можете също да прегледате и другите ни предложени статии, за да научите повече -

  1. Докато Loop в Python
  2. Обратен номер в Python
  3. Ключови думи на Python
  4. Python Sets
  5. PHP Ключови думи
  6. C ++ Ключови думи