Примери за Python Regex

Primeri Za Python Regex



Пълната форма на регулярния израз е регулярен израз. Това е важна характеристика на всеки език за програмиране. Това е низов модел, който се използва за съпоставяне, търсене или замяна на низове в стойност на низ. Моделът на регулярен израз може да се използва в скрипта на Python, като се използва модулът „re“ на Python. Този модул има много видове функции за извършване на различни операции с низове. Използват се различни метасимволи и специални последователности за дефиниране на моделите на регулярни изрази за търсене или замяна на задачите. Целите на използването на някои често използвани метасимволи, специални последователности и методи на регулярен израз в скрипта на Python са показани в този урок.

Някои често използвани метазнаци в регулярен израз:









герои Предназначение
'+' Използва се за съпоставяне на едно или повече появявания на определен знак в низ.
'*' Използва се за съвпадение на нула или повече срещания на определен знак в низ.
'?' Използва се за съвпадение на нула или едно срещане на определен знак в низ.
'^' Използва се за съпоставяне на конкретния знак или низ в началото на низа.
'$' Използва се за съпоставяне на конкретния знак или низ в края на низа.
'|' Използва се за съвпадение на всеки от множеството низове в низ. Работи като логиката ИЛИ.
„[]“ Използва се за съпоставяне на диапазон от знаци.
„{}“ Използва се за съпоставяне на определен брой знаци.



Някои често използвани специални последователности в регулярен израз:





Последователности Предназначение
„\A“ Използва се за съпоставяне на конкретния знак в началото на низа. Работи като знака „^“.
„\b“, „\B“ „\b“ се използва за съпоставяне на низа, който съдържа конкретния знак или дума в началото или края на низа. „\B“ работи обратно на „\b“.
„\d“, „\D“ „\d“ се използва за съпоставяне на десетичното число в низа, който е подобен на „[0-9]“. „\D“ работи обратно на „\d“.
„\s“, „\S“ „\s“ се използва за съпоставяне на интервала в низа, който е подобен на „[\n\t\r\v]“. „\S“ работи обратно на „\s“.
‘\w’, ‘\W’ „\w“ се използва за съпоставяне на буквите и цифрите в низа. „\W“ работи обратно на „\w“.
„\С“ Използва се за съпоставяне на конкретния знак в края на низа. Работи като знака '$'.

Пример 1: Съвпадение на низа с помощта на функцията Match().

Функцията match() се използва за съпоставяне на модел на регулярен израз в началото на низа. Синтаксисът на тази функция е даден, както следва:



Синтаксис:

повторен мач ( модел, низ, знамена = 0 )

Тук първият аргумент се използва за дефиниране на модела на регулярен израз. Вторият аргумент се използва за дефиниране на главния низ. Третият аргумент не е задължителен и се използва за дефиниране на различни типове флагове.

Създайте файл на Python със следния скрипт, който съответства на модел на регулярен израз с дефиниран низ, като използвате функцията match(). Първо, дефиниран модел на регулярен израз се използва за съпоставяне. След това се взема дума за търсене от потребителя и се използва като модел на регулярен израз, за ​​да съответства на стойността на низа. Ако се намери съвпадение, думата за търсене се отпечатва. В противен случай се отпечатва низът „Няма намерена съответстваща стойност“.

#Импортирайте необходимия модул
внос повторно

#Дефинирайте функцията за отпечатване на съответстващия резултат
def matchString ( ) :
#Проверете върнатата стойност на функцията match().
ако заедно с ! = Няма:
печат ( ''' + мат.група ( ) + '' се намира в '' + strValue + ''' )
друго:
печат ( „Няма намерена съответстваща стойност.“ )

#Дефинирайте стойността на низа
strValue = „Първи влязъл първи излязъл“.
#Сравнете низа въз основа на шаблона
мат = повторен мач ( „^Първо“ , strValue )
#Call функция за отпечатване на резултата от мача
matchString ( )

#Вземете низа за търсене
inValue = вход ( „Въведете стойността за търсене:“ )
мат = повторен мач ( inValue +, strValue )
#Call функция за отпечатване на резултата от мача
matchString ( )

Следният изход се появява за „първата“ входна стойност:

Пример 2: Намерете низа с помощта на функцията Findall().

Функцията findall() се използва за връщане на всички съвпадащи думи, които се намират в главния низ като кортеж.

Синтаксис:

re.findall ( модел, низ, знамена = 0 )

Тук първият аргумент се използва за дефиниране на модела на регулярен израз. Вторият аргумент се използва за дефиниране на главния низ. Третият аргумент не е задължителен и се използва за дефиниране на различни типове флагове.

Създайте файл на Python със следния скрипт, който взема стойност на основен низ и стойност на низ за търсене от потребителя. След това използвайте думата за търсене  в модела на регулярен израз, за ​​да намерите думата за търсене в основния низ. Броят на общите съвпадения се отпечатва в изхода.

#Импортирайте необходимия модул
внос повторно

#Вземете стойност на низ
inValue = вход ( „Въведете низ:“ )

#Вземете дума за търсене
srcValue = вход ( „Въведете дума за търсене:“ )

#Търсете думата в низа
srcResult = re.findall ( srcValue + '\In*' , inValue )
#Отпечатайте резултата от търсенето
печат ( 'Думата '' + srcValue + '' се намира в низа'
+ ул ( само ( srcResult ) ) + 'пъти.' )

Според изхода думата за търсене „яж“ се намира два пъти в основния низ „Ние ядем, за да живеем и не живеем, за да ядем“.

Пример 3: Търсете низа с помощта на функцията Search().

Search() е друга функция за търсене на конкретен модел в стойност на низ. Той съдържа същите аргументи като функциите match() и findall(). Създайте файл на Python със следния скрипт, който търси думата „Python“ в стойност на низ, която ще бъде взета от потребителя. Ако думата за търсене съществува във входната стойност, се отпечатва съобщение за успех. В противен случай се отпечатва съобщение за грешка.

#Импортиране на повторен модул
внос повторно

#Вземете стойност на низ
inValue = вход ( „Въведете низ:“ )
#Търсете конкретната дума в стойността на низа
srcResult = повторно търсене ( r „Python\w*“ , inValue )

#Проверете дали думата за търсене е намерена или не
ако srcРезултат:
печат ( ''' + srcResult.group ( ) + '' се намира в '' + inValue + ''' )
друго:
печат ( „Низът за търсене не е намерен.“ )

Изход:

Следният изход се появява, ако входният низ е „Харесва ми програмирането на Python“:

Следният изход се появява, ако входният низ е „Харесвам PHP програмиране“:

Пример 4: Заменете низа с помощта на функцията Sub().

Функцията sub() се използва за търсене на определен низ въз основа на модела и замяната му с друга дума. Синтаксисът на тази функция е даден, както следва:

Синтаксис:

ре.под ( шаблон, заместващ_низ, основен_низ )

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

Вторият аргумент на тази функция съдържа стойността на низа „замяна“.

Третият аргумент на тази функция съдържа главния низ.

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

Създайте файл на Python със следния скрипт, който търси две цифри в края на низа. Ако низът съдържа две цифри в края, цифрите се заменят с низа „$50“.

#Импортиране на повторен модул
внос повторно

#Дефинирайте основния низ
strValue = 'Цената на книгата е 70'

#Дефинирайте модела за търсене
модел = „[0-9]{2}“

#Дефинирайте заместващата стойност
replaceValue = '$50'

#Търсете и заменете низа въз основа на шаблона
modified_strValue = re.sub ( шаблон, replaceValue, strValue )
#Отпечатайте оригиналните и модифицираните низови стойности
печат ( 'Оригинален низ: ' + strValue )
печат ( 'Модифициран низ: ' + modified_strValue )

Изход:

Имаше 70 в края на основния низ. И така, 70 се заменя с $50 в заменения низ.

Пример 5: Заменете низа с помощта на функцията Subn().

Функцията subn() работи като функцията sub(), с изключение на това, че връща изхода като кортеж, където първият индекс съдържа заменената стойност, а вторият индекс съдържа общия брой съвпадения.

Създайте файл на Python със следния скрипт, който търси азбуките от A до L в низа „LinuxHint.com“, като използва функцията subn():

#Импортиране на повторен модул
внос повторно

#Дефинирайте основния низ
strValue = 'LinuxHint.com'

#Дефинирайте модела за търсене
модел = '[КЪМ]'

#Дефинирайте заместващата стойност
replaceValue = '*'

#Търсете и заменете низа въз основа на шаблона
modified_strValue = re.subn ( шаблон, replaceValue, strValue )
#Отпечатайте оригиналния низ и изхода на subn()
печат ( „Оригинален низ: ' + strValue )
печат ( 'Изход от функцията subn(): ' )
печат ( modified_strValue )

Изход:

Съгласно следния изход, символите „L“ и „H“ се заменят със знака „*“.

Пример 6: Разделете низа с помощта на функцията Split().

Създайте файл на Python със следния скрипт, който използва функцията split(), за да раздели основния низ на множество части въз основа на модела на регулярен израз:

#Импортиране на повторен модул
внос повторно

#Дефинирайте стойност на низ
strVal= 'Rupa Akter;Nira Chowdhury;Mazharul Islam'
#Дефинирайте модела, който ще се използва за разделяне на данните
модел = '[^A-Za-z ]'
#Съхранявайте разделените стойности в списък
split_result = re.split ( модел, strVal )
печат ( „Изход от функцията split():“ )
печат ( разделен_резултат )

Изход:

Според изхода основният низ е разделен на три части въз основа на модела „[^A-Za-z]“, който се използва в скрипта.

Заключение

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