मल्टीलाइन टेक्स्ट ब्लॉक्स के मिलान के लिए नियमित अभिव्यक्ति
कई पंक्तियों तक फैले पाठ का मिलान नियमित अभिव्यक्ति निर्माण में चुनौतियां पेश कर सकता है। निम्नलिखित उदाहरण पाठ पर विचार करें:
some Varying TEXT DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF [more of the above, ending with a newline] [yep, there is a variable number of lines here] (repeat the above a few hundred times)
लक्ष्य दो घटकों को कैप्चर करना है: "कुछ भिन्न पाठ" भाग और अपरकेस पाठ की सभी बाद की पंक्तियाँ, खाली पंक्ति को छोड़कर।
गलत दृष्टिकोण:
इस समस्या को हल करने के लिए कुछ गलत तरीकों में शामिल हैं:
निम्न नियमित अभिव्यक्ति वांछित घटकों को सही ढंग से कैप्चर करती है:^(. )\n((?:\n. ) )
यहां इसके घटकों का विवरण दिया गया है:
^(. )\n((?:\n. ) )^ पंक्ति की शुरुआत से मेल खाता है।(. ) समूह 1 में "कुछ भिन्न पाठ" भाग को कैप्चर करता है।
पायथन में इस रेगुलर एक्सप्रेशन का उपयोग करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:
import re पैटर्न = re.compile(r"^(. )\n((?:\n. ) )", re.MULTILINE) फिर आप एक स्ट्रिंग में मिलान खोजने के लिए मैच() विधि का उपयोग कर सकते हैं :import re
pattern = re.compile(r"^(. )\n((?:\n. ) )", re.MULTILINE)
मिलान = पैटर्न.मिलान(पाठ)
यदि मेल खाता है:
टेक्स्ट1 = मैच.ग्रुप(1)
text2 = मिलान.समूह(2) अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3