Вовед во регуларни изрази во 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'.