⊗pyPmRENPB 71 of 129 menu

Nem rögzítő zárójelek a Python reguláris kifejezéseiben

A ( ) zárójelek két funkciót töltenek be - a karakterek csoportosítását és a zseb (capturing group) funkciót. De mit tegyünk, ha csoportosítanunk kell, de nem akarunk a zsebbe helyezni? A probléma megoldására kifejlesztették a speciális nem rögzítő zárójeleket (?: ) - ezek csoportosítanak, de nem helyeznek a zsebbe.

Példa

A következő példában az első zárójelek a csoportosításhoz kellenek, a másodikak pedig a zsebhez. Azonban mindkét zárójel elhelyezi az adatokat a zsebben:

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

Ennek eredményeképpen a zsebeinkben a következő lesz:

print(res[0]) # kiírja 'abab123' print(res[1]) # kiírja 'ab' print(res[2]) # kiírja '123'

Példa

Változtassuk meg úgy, hogy az első zárójelpár csak csoportosítson, de ne helyezzen a zsebbe:

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

Ennek eredményeképpen az első zsebben a számunk lesz:

print(res[1]) # kiírja '123'
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás