समारोह अजगर के बिना अलग स्ट्रिंग चरित्र [डुप्लिकेट]
Dec 02 2020
क्या आप इस "+ 2x-5y + 8 + 2y" को अलग कर सकते हैं (वर्णों के बीच कोई रिक्त स्थान नहीं है) जैसे कि अजगर में [+ 2x, -5y, + 8, + 2y]? कैसे?
जवाब
schetefan24 Dec 02 2020 at 22:34
यदि आप सभी के लिए इनपुट के पैटर्न को जानते हैं, जो नियमित रूप से सामने आ सकता है, तो नियमित अभिव्यक्तियों पर एक नज़र डालें
आपके मामले में, एक समाधान कुछ ऐसा हो सकता है
import re
a = "+2x-5y+8+2y"
print(re.findall(r"[+-]\d[xy]?", a))
re.findall(expression, input)
एक नियमित अभिव्यक्ति और एक तर्क की आवश्यकता होती है जिसे पार्स किया जाएगा उपरोक्त समाधान में, पैटर्न [+-]\d[xy]?
शामिल हैं
[+-]
या तो + या - प्रतीक\d
कोई भी अंक, यदि आप\d+
इसके बजाय कई अंकों का उपयोग करने की उम्मीद करते हैं (+ यहाँ अर्थ "कम से कम एक पुनरावृत्ति")[xy]?
वर्णों में से एक x और y, लेकिन यह गायब हो सकता है। यदि आप अन्य पत्रों की भी अपेक्षा रखते हैं, तो उन्हें इन कोष्ठकों के अंदर जोड़ें