Увод у регуларне изразе у Пајтону
Регуларни изрази су наредбе за сложену претрагу и замену (или само претрагу). Они омогућавају да се раде веома занимљиве ствари, али су, нажалост, прилично тешки за савладавање.
Да бисмо започели рад са регуларним изразима
у Пајтону, потребно је да увеземо специјални
модул 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'.