⊗pyPmRENPB 71 of 129 menu

Neohranjevalni oklepaji v regularnih izrazih Python

Oklepaji ( ) izvajajo dve funkciji - grupiranje znakov in funkcijo captured group (zajema skupine). A kaj narediti, če je treba združiti, vendar ne shraniti v captured group? Za rešitev takšnega problema so bili izumljeni posebni neohranjevalni oklepaji (?: ) - ti združujejo, vendar ne shranijo v captured group.

Primer

V naslednjem primeru so prvi oklepaji potrebni za grupiranje, drugi pa za captured group. Vendar pa tako eni kot drugi oklepaji shranjujejo podatke v captured group:

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

Kot rezultat bo v naših captured groupih (skupinah) naslednje:

print(res[0]) # izpiše 'abab123' print(res[1]) # izpiše 'ab' print(res[2]) # izpiše '123'

Primer

Naredimo tako, da bo prvi par oklepajev samo združeval, ne pa tudi shranjeval v captured group:

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

Kot rezultat bo v našem prvem captured groupu naše število:

print(res[1]) # izpiše '123'
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni