⊗pyPmRENPB 71 of 129 menu

Paranteze non-captante în expresiile regulate Python

Parantezele ( ) îndeplinesc două funcții - gruparea caracterelor și funcția de captare (group). Și ce să faci dacă trebuie să grupezi, dar să nu capți? Pentru a rezolva această problemă au fost create parantezele non-captante (?: ) - ele grupează, dar nu capturează în group.

Exemplu

În exemplul următor, primele paranteze ne sunt necesare pentru grupare, iar cele două - pentru captare. Cu toate acestea, ambele tipuri de paranteze salvează date în group:

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

Ca rezultat, în grupurile noastre va fi următoarele:

print(res[0]) # va afișa 'abab123' print(res[1]) # va afișa 'ab' print(res[2]) # va afișa '123'

Exemplu

Să facem astfel încât prima pereche de paranteze doar să grupeze, dar să nu captureze în group:

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

Ca rezultat, în primul group va fi numărul nostru:

print(res[1]) # va afișa '123'
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge