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

पाइथन में नियमित अभिव्यक्ति विकल्प कैसे काम करते हैं?

विकल्प और उनके अनुप्रयोग

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

ऊर्ध्वाधर बार का उपयोग करना(|)

वैकल्पिक विकल्प तब उपयोगी होता है जब हमें कई भिन्न विकल्पों में से किसी एक का मिलान करने की आवश्यकता होती है। उदाहरण के लिए, रेगेक्स एयरवेज|एयरप्लेन|बॉम्बर एयरवेज या हवाई जहाज या बॉम्बर वाले किसी भी टेक्स्ट से मेल खाएगा। रेगेक्स air(ways|plane)|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)

  1. पायथन में नियमित अभिव्यक्ति संशोधक कैसे काम करते हैं?

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