⊗pyPmRENPB 71 of 129 menu

Pythonin säännöllisten lausekkeiden tallentamattomat sulkeet

Sulkeet ( ) suorittavat kaksi tehtävää - merkkien ryhmittely ja tallennuspaikan funktio. Mutta mitä tehdä, jos haluat ryhmitellä, mutta ei tallentaa tallennuspaikkaan? Tämän ongelman ratkaisemiseksi on keksitty erityiset tallentamattomat sulkeet (?: ) - ne ryhmittelevät, mutta eivät tallenna tallennuspaikkaan.

Esimerkki

Seuraavassa esimerkissä tarvitsemme ensimmäiset sulkeet ryhmittelyyn ja toiset tallennuspaikkaan. Kuitenkin molemmat sulkeet tallentavat tiedot tallennuspaikkaan:

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

Tuloksena tallennuspaikoissamme on seuraavaa:

print(res[0]) # tulostaa 'abab123' print(res[1]) # tulostaa 'ab' print(res[2]) # tulostaa '123'

Esimerkki

Tehdään niin, että ensimmäinen sulkepari vain ryhmittelee, mutta ei tallenna tallennuspaikkaan:

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

Tuloksena ensimmäisessä tallennuspaikassa on numeromme:

print(res[1]) # tulostaa '123'
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää