⊗pyPmRENPB 71 of 129 menu

Non-capturing parentheses in Python regex

Заградите ( ) имаат две функции - групирање на знаци и функција на capturing group. А што да правите ако треба да групирате, но да не зачувате во capturing group? За решавање на таков проблем се направени специјални non-capturing parentheses (?: ) - тие групираат, но не зачувуваат во capturing group.

Пример

Во следниот пример, првите загради ни се потребни за групирање, а вторите - за capturing group. Сепак, и едните и другите загради зачувуваат податоци во capturing group:

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

Како резултат, во нашите capturing groups ќе има следното:

print(res[0]) # ќе испечати 'abab123' print(res[1]) # ќе испечати 'ab' print(res[2]) # ќе испечати '123'

Пример

Да ги направиме првите загради така што само групираат, но не зачувуваат во capturing group:

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

Како резултат, во првиот capturing group ќе биде нашето број:

print(res[1]) # ќе испечати '123'
Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј