⊗pyPmREHHy 47 of 129 menu

पायथन रेगुलर एक्सप्रेशन में सेट के अंदर हाइफन

हाइफन - [ ] के अंदर एक विशेष प्रतीक भी है (लेकिन बाहर - नहीं)। यदि आपको हाइफन को स्वयं एक प्रतीक के रूप में चाहिए - तो उसे वहाँ रखें, जहाँ इसे समूह विभाजक के रूप में नहीं समझा जाएगा

यह महत्वपूर्ण क्यों है: आप स्वयं ध्यान दिए बिना प्रतीकों का एक समूह बना सकते हैं। उदाहरण के लिए, इस तरह - '[:-@]' - आप सोचते हैं कि आप कोलन, हाइफन और एट साइन चुन रहे हैं, जबकि वास्तव में : और @ के बीच के प्रतीकों का एक समूह बन जाता है। इस समूह में निम्नलिखित प्रतीक शामिल हैं: ? < = > :

ये कहाँ से आए? ASCII तालिका से - कोलन की संख्या, एट साइन से कम है - और एक समूह बन जाता है। यानी सभी समूह ASCII तालिका के अनुसार बनते हैं (इच्छा होने पर इसका उपयोग किया जा सकता है)।

इससे कैसे निपटें: हाइफन प्रतीक को वहाँ रखें, जहाँ इसे निश्चित रूप से एक समूह प्रतीक के रूप में नहीं समझा जाएगा, उदाहरण के लिए, शुरुआत में या अंत में (यानी [ के बाद या ] से पहले)।

हाइफन को एस्केप भी किया जा सकता है - तब यह अपने आप को दर्शाएगा, स्थिति की परवाह किए बिना। उदाहरण के लिए, [:-@] के बजाय [:\-@] लिखें - और अब कोई समूह नहीं होगा, बल्कि तीन प्रतीक होंगे - कोलन, हाइफन और एट साइन @

उदाहरण

निम्नलिखित उदाहरण में खोज पैटर्न इस प्रकार है: अंक 1, फिर 'a' से 'z' तक का अक्षर, फिर अंक 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a-z]2', '!', txt) print(res)

कोड निष्पादन का परिणाम:

'! 1-2 ! !'

उदाहरण

आइए अब हाइफन को एस्केप करें। इसके परिणामस्वरूप, खोज पैटर्न इस प्रकार है: अंक 1, फर 'a' अक्षर, या हाइफन, या 'z' अक्षर, फिर अंक 2:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[a\-z]2', '!', txt) print(res)

कोड निष्पादन का परिणाम:

'! ! 1c2 !'

उदाहरण

बिना एस्केप किए, केवल हाइफन की स्थिति बदली जा सकती है:

txt = '1a2 1-2 1c2 1z2' res = re.sub('1[az-]2', '!', txt) print(res)

कोड निष्पादन का परिणाम:

'! ! 1c2 !'

उदाहरण

निम्नलिखित उदाहरण में खोज पैटर्न इस प्रकार है: पहला प्रतीक - छोटे अक्षर या हाइफन '-' है, फिर दो अक्षर 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-z-]xx', '!', txt) print(res)

कोड निष्पादन का परिणाम:

'! Axx ! @xx'

उदाहरण

निम्नलिखित उदाहरण में खोज पैटर्न इस प्रकार है: पहला प्रतीक - छोटे, बड़े अक्षर या हाइफन '-' है, फिर दो अक्षर 'x':

txt = 'axx Axx -xx @xx' res = re.sub('[a-zA-Z-]xx', '!', txt) print(res)

कोड निष्पादन का परिणाम:

'! ! ! @xx'

उदाहरण

हाइफन को दो समूहों के बीच रखा जा सकता है - वहाँ यह निश्चित रूप से एक और समूह नहीं बनाएगा:

txt = 'axx 9xx -xx @xx' res = re.sub('[a-z-0-9]xx', '!', txt) print(res)

कोड निष्पादन का परिणाम:

'! ! ! @xx'

व्यावहारिक कार्य

एक स्ट्रिंग दी गई है:

txt = 'xaz xBz xcz x-z x@z'

निम्नलिखित पैटर्न के अनुसार सभी स्ट्रिंग्स खोजें: अक्षर 'x', बड़ा या छोटा अक्षर या हाइफन, अक्षर 'z'

एक स्ट्रिंग दी गई है:

txt = 'xaz x$z x-z xcz x+z x%z x*z'

निम्नलिखित पैटर्न के अनुसार सभी स्ट्रिंग्स खोजें: अक्षर 'x', फिर या तो डॉलर, या हाइफन या प्लस, फिर अक्षर 'z'

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें