पायथन रेगुलर एक्सप्रेशन में नॉन-कैप्चरिंग ग्रुप
कोष्ठक ( ) दो कार्य करते हैं -
वर्णों का समूह बनाना और कैप्चर समूह (कारमैन) का कार्य। लेकिन
क्या करें यदि आपको समूह बनाना है, लेकिन
कैप्चर में नहीं रखना है? इस समस्या के समाधान के लिए विशेष नॉन-कैप्चरिंग
ग्रुप (?: ) बनाए गए हैं - ये समूह बनाते हैं,
लेकिन कैप्चर में नहीं रखते।
उदाहरण
निम्नलिखित उदाहरण में, हमें पहले कोष्ठक समूह बनाने के लिए चाहिए, और दूसरे - कैप्चर के लिए। हालाँकि, दोनों कोष्ठक डेटा को कैप्चर में सहेजते हैं:
txt = 'abab123'
res = re.search('(ab)+([1-9]+)', txt)
परिणामस्वरूप, हमारे कैप्चर समूहों में निम्नलिखित होगा:
print(res[0]) # 'abab123' प्रिंट करेगा
print(res[1]) # 'ab' प्रिंट करेगा
print(res[2]) # '123' प्रिंट करेगा
उदाहरण
आइए ऐसा करें कि पहला कोष्ठक जोड़ा केवल समूह बनाए, लेकिन कैप्चर में न रखे:
txt = 'abab123'
res = re.search('(?:ab)+([1-9]+)', txt)
परिणामस्वरूप, पहले कैप्चर समूह में हमारी संख्या होगी:
print(res[1]) # '123' प्रिंट करेगा