Python-da Regular Ifadələrə Giriş

Regular ifadələr, mürəkkəb axtarış və əvəzetmə (və ya sadəcə axtarış) üçün əmrlərdir. Onlar çox maraqlı şeylər etməyə imkan verir, lakin təəssüf ki, mənimsəməkdə olduqca çətindirlər.

Python-da regular ifadələrlə işləməyə başlamaq üçün xüsusi re modulunu import etməliyik:

pythonimport re

re modulu, regular ifadələr ilə işləmək üçün nəzərdə tutulmuş metodları özündə cəmləyir. Regular ifadə, əmrlər dəstidir və iki növ simvoldan ibarətdir: özünü təmsil edən simvollar və xüsusi simvollar adlanan əmr simvolları.

Regular ifadələrlə tanışlığı sub metodunun nümunəsindən başlamaq daha yaxşıdır, hansı ki, sətirdə əvəzetmələr üçün istifadə olunur. Metod birinci parametrdə *nəyi* əvəz edəcəyini, ikinci parametrdə isə *nə ilə* əvəz edəcəyini qəbul edir. Üçüncü parametrdə əvəzetmənin ediləcəyi sətri göstəririk. Dördüncü isteğe bağlı parametrdə isə əvəzetmələrin sayını təyin edirik. Bu metodla ən sadə əvəzetmə belə görünəcək:

pythonres = re.sub('a', '!', 'bab')
print(res) # çıxaracaq 'b!b'

Fərqinə vardığınız kimi, regular ifadədə hərflər özlərini təmsil edir. Rəqəmlər üçün də eyni şey keçerlidir. Gəlin 2 rəqəmini ! ilə əvəz edək:

pythonres = re.sub('2', '!', '12abc3')
print(res) # çıxaracaq '1!abc3'

Nöqtə isə xüsusi simvoldur və istənilən simvolu təmsil edir. Aşağıdakı nümunədə gəlin belə bir şablonla alt sətir axtaraq: 'x' hərfi, sonra istənilən simvol, sonra yenidən 'x' hərfi:

pythonres = re.sub('x.x', '!', 'xax eee')
print(res) # çıxaracaq '! eee'
Задание 1

Sətir verilmişdir:

pythontxt = 'ahb acb aeb aeeb adcb axeb'

'ahb', 'acb', 'aeb' sətirlərini şablona görə tapan regular ifadəni yazın: 'a' hərfi, istənilən simvol, 'b' hərfi.

Задание 2

Sətir verilmişdir:

pythontxt = 'aba aca aea abba adca abea'

'abba', 'adca', 'abea' sətirlərini şablona görə tapan regular ifadəni yazın: 'a' hərfi, 2 istənilən simvol, 'a' hərfi.

Задание 3

Sətir verilmişdir:

pythontxt = 'aba aca aea abba adca abea'

'adca' sətirini tapmadan, 'abba' və 'abea' sətirlərini tapan regular ifadəni yazın.