⊗pyPmREChS 40 of 129 menu

Python-da Regulyar Ifadələrdə Simvol Dəstləri

\d\w simvol qrupları çox çevik deyil. Hətta bütün hərfləri, lakin rəqəmləri yox tapmaq kimi sadə bir vəzifə belə onlar tərəfindən həll edilə bilməz. Bu cür vəzifələr üçün 'və ya' əməliyyatını təmsil edən kvadrat mötərizələrdən istifadə etmək lazımdır.

Kvadrat mötərizələr içəridə sadalanan hər hansı bir simvolu əvəz edir. Məsələn, belə: x[abc]x - biz deyirik ki, kənarlarda x hərfləri durmalıdır, arasında isə bir simvol: ya 'a', ya 'b', ya da 'c'.

Kvadrat mötərizələrdən sonra təkrar operatorları yazmaq olar. Məsələn, belə: x[abc]+x - biz deyirik ki, x-lər arasında istənilən sayda 'a', 'b''c' simvolu ola bilər - istənilən birləşmədə.

Yalnız simvolları sadalamaqla kifayətlənməyib, iki simvol arasına defis qoyaraq simvol qrupları da yarada bilərsiniz. Məsələn, belə: [a-d] - biz 'a'-dan 'd'-ə qədər bütün simvolları alırıq.

Gəlin nümunələrə baxaq.

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 'a'-dan 'z'-ə qədər istənilən hərf:

<+Python+> txt = 'xax xbx xcx x@x' res = re.sub('x[a-z]x', '!', txt) print(res) <-python->

Kodun icrasının nəticəsi:

'! ! ! x@x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 'a'-dan 'k'-ə qədər istənilən hərf:

txt = 'xax xbx xmx x@x' res = re.sub('x[a-k]x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'! ! xmx x@x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 'A'-dan 'Z'-ə qədər istənilən hərf:

txt = 'xax xBx xcx x@x' res = re.sub('x[A-Z]x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'xax ! xcx x@x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 0-dan 9-a qədər istənilən rəqəm:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[0-9]x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'xax ! ! ! x@x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 3-dan 7-ə qədər istənilən rəqəm:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[3-7]x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'xax x1x ! ! x@x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 'a'-dan 'z'-ə qədər istənilən hərf və ya 1-dən 9-a qədər rəqəm:

txt = 'xax x1x x3x x5x x@x' res = re.sub('x[a-z1-9]x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'! ! ! ! x@x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 'a'-dan 'z'-ə qədər və ya 'A'-dan 'Z'-ə qədər istənilən hərf:

txt = 'xax xBx xcx x5x x@x' res = re.sub('x[a-zA-Z]x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'! ! ! x5x x@x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 'a'-dan 'z'-ə qədər istənilən hərf və ya 1, 2 rəqəmləri:

txt = 'xax xbx x1x x2x x3x' res = re.sub('x[a-z12]x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'! ! ! ! x3x'

Nümunə

Bu nümunədə axtarış şablonu belədir: x-lər arasında 'a'-dan 'z'-ə qədər hərflər, 1 və daha çox sayda:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]+x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'xx ! ! ! x123x xa3x'

Nümunə

Gəlin elə edək ki, hərflərin sayı sıfır da ola bilə:

txt = 'xx xabesx xaadx x123x xa3x' res = re.sub('x[a-z]*x', '!', txt) print(res)

Nəticədə alırıq:

'! ! ! ! x123x xa3x'

Nümunə

Kvadrat mötərizələr içərisində eyniləşdirilmiş simvollar da göstərilə bilər. Gəlin hərflər və rəqəmlərdən ibarət, sıfır və ya daha çox dəfə təkrarlanan ardıcıllığı tapaq:

txt = 'xx x@x xadx xas12x xa3x' res = re.sub('x[a-z\d]*x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'! x@x ! ! !'

Nümunə

Əgər bizə başqa kvadrat mötərizələr göstərmək lazımdırsa, onları da mütləq eyniləşdirməliyik:

txt = 'xx xrx xas[]x x3x' res = re.sub('x[a-z\[\]]*x', '!', txt) print(res)

Kodun icrasının nəticəsi:

'! ! ! x3x'

Praktiki Tapşırıqlar

Sətir verilmişdir:

txt = 'aba aea aca aza axa'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə 'b', 'e' və ya 'x' hərfi olan.

Sətir verilmişdir:

txt = 'a1a a3a a7a a9a aba'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə 3-dən 6-a qədər rəqəm olan.

Sətir verilmişdir:

txt = 'aba aea afa aha aga'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə 'a'-dan 'g'-ə qədər hərf olan.

Sətir verilmişdir:

txt = 'aba aea afa aha aga'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə 'a'-dan 'f'-ə qədər və 'j'-dən 'z'-ə qədər hərf olan.

Sətir verilmişdir:

txt = 'aAa aea aEa aJa a3a'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə 'a'-dan 'f'-ə qədər və 'A'-dan 'D'-ə qədər hərf olan.

Sətir verilmişdir:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə kiçik latın hərfləri olan, digərlərini toxunmayan.

Sətir verilmişdir:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə kiçik və böyük latın hərfləri olan, digərlərini toxunmayan.

Sətir verilmişdir:

txt = 'aAXa aeffa aGha aza ax23a a3sSa'

Aşağıdakı şablona uyğun gələn regulyar ifadəni yazın: kənarlarda 'a' hərfləri durur, aralarında isə kiçik latın hərfləri və rəqəmlər olan, digərlərini toxunmayan.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et