दिलचस्प पोस्ट
जीएनयू लिंडर स्क्रिप्ट के साथ बाइनरी फ़ाइल शामिल करें क्या मैं (पॉइंटर! = नल) के बजाय अगर (सूचक) का उपयोग कर सकता हूं? PHP में स्ट्रिंग लम्बाई की जांच करें एचटीएमएल खींचें और मोबाइल उपकरणों पर ड्रॉप कोडिंग मानकों के एक सेट के खिलाफ सी / सी ++ स्रोत कोड की जांच करने के लिए एक नि: शुल्क उपकरण? .h और .m फ़ाइल में @ अंतरफलक परिभाषा के बीच अंतर एनआईटी प्रौद्योगिकियों का प्रयोग करके स्क्रीन के वीडियो रिकॉर्ड करें एसडी कार्ड से ईमेल भेजने की कोशिश कर रहा है I निर्धारित करते हैं कि क्या दो पंक्ति खंड एक दूसरे को छेदते हैं? कैसे डीएनबीएनटीएक्स का इस्तेमाल करते समय डीबीसीटीएक्स को संभालना अपडेट करने वाले डेटा को संक्षिप्त करने के लिए स्क्रिप्ट आविष्कारक रचना करते हैं, मोनाड्स नहीं करते हैं (सलाह की आवश्यकता है) मेरे एंड्रॉइड ऐप से MySQL सर्वर डेटाबेस से बात करें मैं एक regex का उपयोग कर एक स्ट्रिंग में सभी YouTube वीडियो आईडी कैसे प्राप्त करूं? एक regex में वर्ग कोष्ठक और कोष्ठक के बीच अंतर क्या है?

पायथन में रीगेक्स स्ट्रिंग से बचें

मैं कुछ पाठ पर किसी खोज के लिए उपयोगकर्ता से इनपुट का प्रयोग करना चाहता हूं I regex pattern यह काम करता है, लेकिन मैं उन मामलों को कैसे नियंत्रित कर सकता हूं जहां उपयोगकर्ता अक्षर लिखते हैं जिसका मतलब अर्थ है regex? उदाहरण के लिए, उपयोगकर्ता शब्द (s) लिए खोज करना चाहता है: regex इंजन एक समूह के रूप में ले जाएगा (s) मैं इसे एक स्ट्रिंग "(s)" तरह व्यवहार करना चाहता हूं मैं उपयोगकर्ता इनपुट पर replace कर सकता हूं और ( साथ में \( और ) साथ \) की जगह ले सकता हूं, लेकिन समस्या यह है कि मुझे प्रत्येक संभव regex प्रतीक के लिए प्रतिस्थापित करना होगा क्या आपको कुछ बेहतर तरीके से पता है?

Solutions Collecting From Web of "पायथन में रीगेक्स स्ट्रिंग से बचें"

इसके लिए re.escape() फ़ंक्शन का प्रयोग करें:

4.2.3 re मॉड्यूल सामग्री

भागने (स्ट्रिंग)

सभी गैर-अल्फ़ान्यूमेरिक बैकस्लैश किए गए स्ट्रिंग लौटें; यह उपयोगी है यदि आप एक मनमाना की शाब्दिक स्ट्रिंग से मिलान करना चाहते हैं जिसमें उसमें नियमित अभिव्यक्ति मेटाचैक्टर्स हो सकते हैं।

एक सरलीकृत उदाहरण, प्रदान की गई स्ट्रिंग के किसी भी समय की खोज करें, उसके बाद 's' का पालन करें, और मैच वस्तु वापस लौटाएं।

 def simplistic_plural(word, text): word_or_plural = re.escape(word) + 's?' return re.match(word_or_plural, text) 

आप re.escape () का उपयोग कर सकते हैं:

re.escape (स्ट्रिंग) लौटें स्ट्रिंग सभी गैर-अल्फ़ान्यूमेरिक बैकस्लैश किए गए; यह उपयोगी है यदि आप एक मनमाना की शाब्दिक स्ट्रिंग से मिलान करना चाहते हैं जिसमें उसमें नियमित अभिव्यक्ति मेटाचैक्टर्स हो सकते हैं।

 >>> import re >>> re.escape('^a.*$') '\\^a\\.\\*\\$' 

दुर्भाग्य से, re.escape() प्रतिस्थापन स्ट्रिंग के लिए उपयुक्त नहीं है:

 >>> re.sub('a', re.escape('_'), 'aa') '\\_\\_' 

एक हल एक लैम्ब्डा में बदलने के लिए है:

 >>> re.sub('a', lambda _: '_', 'aa') '__' 

क्योंकि लैम्ब्डा का रिटर्न वैल्यू एक शाब्दिक स्ट्रिंग के रूप में re.sub() द्वारा किया जाता है।

कृपया एक प्रयास करें:

\ क्यू और \ ई एन्कर्स के रूप में

या तो एक पूर्ण शब्द या regex मैच के लिए एक या स्थिति रखो।

रेफ कड़ी: पूरे शब्द से मिलान कैसे करें जिसमें regex में विशेष वर्ण शामिल हैं