⊗pyPmRENPB 71 of 129 menu

Nesaglabājošās iekavas Python regulārajās izteiksmēs

Iekavas ( ) veic divas funkcijas - simbolu grupēšanu un capture grupas funkciju. Bet ko darīt, ja nepieciešams sagrupēt, bet neielikt capture grupā? Šīs problēmas risināšanai tika izgudrotas speciālās nesaglabājošās iekavas (?: ) - tās grupē, bet neieliek capture grupā.

Piemērs

Nākamajā piemērā pirmās iekavas mums ir vajadzīgas grupēšanai, bet otrajās - capture grupai. Tomēr, gan vienas, gan otrās iekavas saglabā datus capture grupā:

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

Rezultātā mūsu capture grupās būs sekojošais:

print(res[0]) # izvadīs 'abab123' print(res[1]) # izvadīs 'ab' print(res[2]) # izvadīs '123'

Piemērs

Padarīsim tā, lai pirmā iekavu pāris tikai grupētu, bet neieliktu capture grupā:

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

Rezultātā pirmajā capture grupā būs mūsu skaitlis:

print(res[1]) # izvadīs '123'
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt