⊗pyPmREInr 33 of 129 menu

Въведение в регулярните изрази в Python

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

За да започнем работа с регулярни изрази в Python, трябва да импортираме специален модул re:

import re

Модулът re включва методи, предназначени за работа с регулярни изрази. Регулярният израз представлява набор от команди и се състои от два типа символи: от тези, които означават самите себе си и от символи-команди, които се наричат специални символи.

Запознаването с регулярните изрази е най-добре да започне с пример за метода sub, който се използва за замени в низ. Първият параметър методът приема какво да се замени, вторият - с какво да се замени. В третия параметър посочваме низа, в който трябва да се направи замяната. В четвъртия незадължителен параметър задаваме броя на замените. Най-простата замяна с помощта на този метод ще изглежда ето така:

res = re.sub('a', '!', 'bab') print(res) # ще изведе 'b!b'

Както забелязахте, в регулярния израз буквите означават самите себе си. Същото важи и за цифрите. Нека заменим цифрата 2 с !:

res = re.sub('2', '!', '12abc3') print(res) # ще изведе '1!abc3'

Точката обаче е специален символ и означава всеки символ. В следващия пример нека намерим подниз по такъв шаблон: буква 'x', след това който и да е символ, след това отново буква 'x':

res = re.sub('x.x', '!', 'xax eee') print(res) # ще изведе '! eee'

Даден е низът:

txt = 'ahb acb aeb aeeb adcb axeb'

Напишете регулярен израз, който ще намери низовете 'ahb', 'acb', 'aeb' по шаблон: буква 'a', който и да е символ, буква 'b'.

Даден е низът:

txt = 'aba aca aea abba adca abea'

Напишете регулярен израз, който ще намери низовете 'abba', 'adca', 'abea' по шаблон: буква 'a', 2 произволни символа, буква 'a'.

Даден е низът:

txt = 'aba aca aea abba adca abea'

Напишете регулярен израз, който ще намери низовете 'abba' и 'abea', без да улови 'adca'.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне