regex - python re sub vs findall -
मेरा कोड:
आयात urlib आयात पुनः xml = urllib.urlopen ('url' ) .read ()
मुझे XML टैग से कुछ टैग और उनकी सामग्री को हटाने में दिलचस्पी है, इसलिए, मैं नियमित अभिव्यक्तियों का उपयोग करने की कोशिश करता हूं।
उदाहरण के लिए: < / P>
पुनः.फंडॉल (आर 'और एलटी। अंजीर (। *?) & Lt; / fig & gt;', xml, re.DOTALL)
मेल और खाली नहीं है।
हालांकि,
re.sub (r '& lt; अंजीर (। *?) & Lt; / fig & gt;', '', xml, पुनः। DOTALL)
कुछ नहीं करता है, XML स्ट्रिंग अपरिवर्तित है। मैं क्यों भ्रमित हूँ, कृपया मदद करें।
का चौथा पैरामीटर नहीं है flags < / कोड>, लेकिन एक
की गणना
। का मूल्य 16 है (कम से कम पायथन 2.7 / 3.4 में) तो re.sub (.., re.DOTALL)
केवल 16 बार बदल देगा।
एक कीवर्ड तर्क के रूप में flags
निर्दिष्ट करना आपकी समस्या का समाधान करेगा :
re.sub (r '& lt; अंजीर (। *?) & Lt; / fig & gt;', ', xml, flags = re.DOTALL)
उस के अतिरिक्त, re.sub
एक प्रतिस्थापन स्ट्रिंग लौटाता है, तीसरे तर्क को जगह में नहीं बदलता है सुनिश्चित करें कि आपने फ़ंक्शन के रिटर्न मान को वापस सौंपा है।
Comments
Post a Comment