Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में रेगुलर एक्सप्रेशन अल्टरनेटिव्स कैसे काम करते हैं?

अल्टरनेशन और उनके अनुप्रयोग

वास्तविक दुनिया के अनुप्रयोगों में, हम अक्सर ऐसे रेगुलर एक्सप्रेशन का उपयोग करते हैं जो दो या अधिक विकल्पों में से किसी एक से मैच करते हैं। साथ ही, हम कभी-कभी कई एक्सप्रेशन पर क्वांटिफायर लागू करना चाहते हैं। ऐसे सभी लक्ष्यों को पैरेंथेसिस के साथ ग्रुपिंग करके और वर्टिकल बार (|) के साथ अल्टरनेशन का उपयोग करके प्राप्त किया जाता है।

वर्टिकल बार (|) का उपयोग

अल्टरनेशन तब उपयोगी होता है जब हमें कई अलग-अलग विकल्पों में से किसी एक से मैच करने की आवश्यकता होती है। उदाहरण के लिए, रेगेक्स airways|airplane|bomber किसी भी टेक्स्ट से मैच करेगा जिसमें airways या airplane या bomber हो। वही उद्देश्य air(ways|plane)|bomber रेगेक्स का उपयोग करके प्राप्त किया जा सकता है।

यदि हम रेगेक्स (airways|airplane|bomber) का उपयोग करते हैं, तो यह तीनों एक्सप्रेशन में से किसी एक से मैच करेगा। रेगेक्स (air(ways|plane)|bomber) पर विचार करें, जिसमें दो कैप्चर होंगे यदि पहला एक्सप्रेशन मैच करता है (airways या airplane पहला कैप्चर और ways या plane दूसरा कैप्चर के रूप में), और एक कैप्चर यदि दूसरा एक्सप्रेशन मैच करता है (bomber)। हम ओपनिंग पैरेंथेसिस के बाद ?: लगाकर कैप्चरिंग प्रभाव को बंद कर सकते हैं:

(air(?:ways|plane)|bomber)

यह केवल एक कैप्चर करेगा यदि यह मैच करता है (airways या airplane या bomber)।

उदाहरण

निम्नलिखित कोड उपरोक्त चर्चा किए गए बिंदुओं को दर्शाता है:

import re
s = 'airways aircraft airplane bomber'
result = re.findall(r'(airways|airplane|bomber)', s)
print(result)
result2 = re.findall(r'(air(ways|plane)|bomber)', s)
print(result2)
result3 = re.findall(r'(air(?:ways|plane)|bomber)', s)
print(result3)

आउटपुट

यह आउटपुट देता है:

['airways', 'airplane', 'bomber']
[('airways', 'ways'), ('airplane', 'plane'), ('bomber', '')]
['airways', 'airplane', 'bomber']
  1. - पायथन में रेगुलर एक्सप्रेशन ग्रुपिंग कैसे काम करती है?

    ग्रुपिंग हम रेगुलर एक्सप्रेशन के किसी हिस्से को पैरेंथेसिस से घेरकर ग्रुप करते हैं। इस तरह हम ऑपरेटर्स को एक सिंगल कैरेक्टर के बजाय पूरे ग्रुप पर लागू करते हैं। कैप्चरिंग ग्रुप्स पैरेंथेसिस न केवल सब-एक्सप्रेशन को ग्रुप करते हैं बल्कि वे बैकरेफरेंस भी बनाते हैं। ग्रुप किए गए रेगुलर एक्सप्रेशन के हि

  1. - पायथन में रेगुलर एक्सप्रेशन का उपयोग करके सिंगल कैरेक्टर कैसे मैच करें?

    हम दिए गए स्ट्रिंग में पायथन रेगुलर एक्सप्रेशन का उपयोग करके किसी भी सिंगल कैरेक्टर को मैच और प्रिंट करने के लिए निम्नलिखित कोड का उपयोग करते हैं। यह दिए गए स्ट्रिंग में किसी भी सिंगल कैरेक्टर से मैच करता है। उदाहरण import re foo = https://www/twitter/index.php 403 result = re.findall(r., foo) prin

  1. - पायथन में रेगुलर एक्सप्रेशन मोडिफायर्स कैसे काम करते हैं?

    रेगुलर एक्सप्रेशन लिटरल्स में एक वैकल्पिक मोडिफायर शामिल हो सकता है जो मिलान के विभिन्न पहलुओं को नियंत्रित करता है। मोडिफायर्स को वैकल्पिक फ्लैग के रूप में निर्दिष्ट किया जाता है। आप एक्सक्लूसिव OR (|) का उपयोग करके कई मोडिफायर प्रदान कर सकते हैं, और इन्हें निम्न में से किसी एक द्वारा दर्शाया जा सक