Python-da Setir Əvəzetmədə Ciblər

sub metodu ilə işləyərkən, əgər müntəzəm ifadədə bir şeyi cibə qoymaq lazımdırsa, onda əvəzetmə sətirində bu cibin məzmununu qoşma çəpəz \ və cibin nömrəsini yazmaqla daxil edə bilərsiniz. Məsələn, \1 - birinci cib, \2 - ikinci cib və s.

Bunun nə üçün lazım olduğunu və necə istifadə ediləcəyini nümunələr üzərində nəzərdən keçirək.

Nümunə

Gəlin bütün rəqəmləri tapaq və onların yerinə eyni rəqəmləri, lakin dairəvi mötərizələr içərisində əlavə edək. Bunun üçün tapılan bütün rəqəmləri onların özü ilə, lakin mötərizədə əvəz edək:

pythontxt = '1 23 456 xax'

res = re.sub('(\d+)', '(\1)', txt)
print(res)

Nəticədə dəyişənə aşağıdakı yazılacaq:

python'(1) (23) (456) xax'

Nümunə

Gəlin ətrafında 'x' olan və rəqəmləri təmsil edən bütün sətirləri tapaq və bu rəqəmləri onların özü ilə, lakin ətrafında '!' işarələri olmaqla əvəz edək:

pythontxt = 'x1x x23x x456x xax'

res = re.sub('x(\d+)x', '!\1!', txt)
print(res)

Nəticədə dəyişənə aşağıdakı yazılacaq:

python'!1! !23! !456! xax'

Nümunə

Gəlin aşağıdakı məsələni həll edək: verilmiş sətir 'aaa@bbb ccc@ddd' - hərflər, sonra 'işarəsi', sonra hərflər. 'aaa@bbb' alt sətirindəki '@' işarəsindən əvvəlki və sonrakı hərfləri yerdəyişmək lazımdır:

pythontxt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)

print(res)

Nəticədə dəyişənə aşağıdakı yazılacaq:

python'bbb@aaa ccc@ddd'

Praktiki Məsələlər

Задание 1

Verilmiş sətir:

pythontxt = '12 34 56 78'

Bütün iki rəqəmli ədədlərdə rəqəmlərin yerini dəyişin.

Задание 2

Tarixi olan sətir verilmişdir:

pythontxt = '31.12.2025'

Bu tarixi '2025.12.31' formatına çevirin.