⊗pyPmRENPB 71 of 129 menu

Nepamteće zagrade u regularnim izrazima Pythona

Zagrade ( ) obavljaju dve funkcije - grupisanje karaktera i funkciju zamke (capture grupe). A šta ako treba da grupišete, ali da ne stavite u zamku? Za rešavanje takvog problema su osmišljene posebne nepamteće zagrade (?: ) - one grupisu, ali ne stavljaju u zamku.

Primer

U sledećem primeru prve zagrade su nam potrebne za grupisanje, a druge - za zamku. Međutim, i jedne i druge zagrade pamte podatke u zamku:

txt = 'abab123' res = re.search('(ab)+([1-9]+)', txt)

Kao rezultat, u našim zamkama će biti sledeće:

print(res[0]) # ispisaće 'abab123' print(res[1]) # ispisaće 'ab' print(res[2]) # ispisaće '123'

Primer

Hajde da prvi par zagrada samo grupiše, ali ne stavlja u zamku:

txt = 'abab123' res = re.search('(?:ab)+([1-9]+)', txt)

Kao rezultat, u prvoj zamki će biti naš broj:

print(res[1]) # ispisaće '123'
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij