පයිතන් නිත්‍ය ප්‍රකාශනවල අසම්පූර්ණ වරහන්

වරහන් ( ) කාර්යයන් දෙකක් කරයි - සංකේත සමූහ කිරීම සහ කැපූරු කාර්යය. එහෙත් සමූහ කිරීමට අවශ්‍ය නමුත් කැපූරුවට තැබීමට අවශ්‍ය නැති නම් කුමක් කළ යුතුද? එවැනි ගැටළුවක් විසඳීම සඳහා විශේෂ අසම්පූර්ණ වරහන් (?: ) නිර්මාණය කර ඇත - ඒවා සමූහ කරයි, නමුත් කැපූරුවට තබන්නේ නැත.

උදාහරණය

පහත උදාහරණයේ දී, පළමු වරහන් අපට අවශ්‍ය වන්නේ සමූහ කිරීම සඳහා වන අතර දෙවැන්න - කැපූරුව සඳහා ය. කෙසේ වෙතත්, වරහන් දෙකම දත්ත කැපූරුවට සුරක්ෂිත කරයි:

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

එහි ප්‍රතිඵලයක් වශයෙන් අපගේ කැපූරු වල පහත දේ තිබෙනු ඇත:

pythonprint(res[0]) # 'abab123' මුද්‍රණය කරයි
print(res[1]) # 'ab' මුද්‍රණය කරයි
print(res[2]) # '123' මුද්‍රණය කරයි

උදාහරණය

පළමු වරහන් යුගලය සමූහ කිරීම පමණක් කරන නමුත් කැපූරුවට තබන්නේ නැති ආකාරයට කරමු:

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

එහි ප්‍රතිඵලයක් වශයෙන් පළමු කැපූරුවේ අපගේ අංකය ඇත:

pythonprint(res[1]) # '123' මුද්‍රණය කරයි