⊗pyPmRENPB 71 of 129 menu

Nezachytávající závorky v regulárních výrazech Pythonu

Závorky ( ) plní dvě funkce - seskupování znaků a funkci zachycování. A co dělat, když je potřeba seskupit, ale nezachytit? Pro řešení tohoto problému byly vytvořeny speciální nezachytávající závorky (?: ) - ty seskupují, ale nezachycují.

Příklad

V následujícím příkladu potřebujeme první závorky pro seskupení a druhé - pro zachycení. Avšak oboje závorky ukládají data do zachycení:

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

Výsledkem bude v našich zachyceních následující:

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

Příklad

Upravme to tak, aby první pár závorek pouze seskupoval, ale nezachycoval:

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

Výsledkem bude v našem prvním zachycení naše číslo:

print(res[1]) # vypíše '123'
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout