Salvestamata sulud Pythoni regulaaravaldistes

Sulud ( ) täidavad kaht funktsiooni - sümbolite grupeerimine ja põhi funktsioon. Aga mida teha, kui on vaja grupeerida, kuid põhja ei pane? Sellise probleemi lahendamiseks leiutati spetsiaalsed salvestamata sulud (?: ) - need grupeerivad, kuid ei pane põhja.

Näide

Järgmises näites on esimesed sulud meile vajalikud grupeerimiseks, teised aga põhja jaoks. Siiski mõlemad sulud salvestavad andmeid põhja:

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

Tulemusena on meie põhjas järgmine:

pythonprint(res[0]) # väljastab 'abab123'
print(res[1]) # väljastab 'ab'
print(res[2]) # väljastab '123'

Näide

Teeme nii, et esimene sulgupaar ainult grupeeriks, kuid ei paneks põhja:

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

Tulemusena on meie esimeses põhjas meie number:

pythonprint(res[1]) # väljastab '123'