ग्रुपिंग
हम रेगुलर एक्सप्रेशन के किसी हिस्से को पैरेंथेसिस की जोड़ी में घेरकर ग्रुप करते हैं। इस तरह हम ऑपरेटर्स को एक सिंगल कैरेक्टर के बजाय ग्रुप पर लागू करते हैं।
कैप्चरिंग ग्रुप्स और बैकरेफरेंस
पैरेंथेसिस न केवल सब-एक्सप्रेशन को ग्रुप करते हैं बल्कि वे बैकरेफरेंस भी बनाते हैं। ग्रुप किए गए रेगुलर एक्सप्रेशन के हिस्से से मैच होने वाला स्ट्रिंग का भाग बैकरेफरेंस में स्टोर होता है। बैकरेफरेंस के उपयोग से हम रेगुलर एक्सप्रेशन के भागों का पुनः उपयोग करते हैं।
यदि सब-एक्सप्रेशन को पैरेंथेसिस में रखा जाता है, तो इसे \1 या $1 आदि से एक्सेस किया जा सकता है।
उदाहरण के लिए, रेगेक्स \b(\w+)\b\s+\1\b दोहराए गए शब्दों से मैच करता है, जैसे tahiti tahiti, क्योंकि (\w+) में पैरेंथेसिस एक शब्द को ग्रुप 1 में कैप्चर करते हैं फिर बैकरेफरेंस \1 उन कैरेक्टर्स से मैच करता है जो ग्रुप 1 द्वारा कैप्चर किए गए थे।
उदाहरण
import re s = 'Tahiti Tahiti Atoll' result = re.findall(r'\b(\w+)\b\s+\1\b', s) print(result)
आउटपुट
यह आउटपुट देता है:
['Tahiti']