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:
txt = 'abab123'
res = re.search('(ab)+([1-9]+)', txt)
Tulemusena on meie põhjas järgmine:
print(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:
txt = 'abab123'
res = re.search('(?:ab)+([1-9]+)', txt)
Tulemusena on meie esimeses põhjas meie number:
print(res[1]) # väljastab '123'