मैं इस तरह के तार में [0-9]
और [A-Z]
अलग करने के लिए कोशिश कर रहा हूँ की तरह तार में संख्या और अक्षर अलग करने के लिए:नियमित अभिव्यक्ति का उपयोग कैसे करें "30M1000N20M"
100M
20M1D80M
20M1I79M
20M10000N80M
मैं अजगर re
मॉड्यूल उपयोग करने की कोशिश, और
>>>import re
>>>num_alpha = re.compile('(([0-9]+)([A-Z]))+')
>>>str1="100M"
>>>n_a_match = num_alpha.match(str1)
>>>n_a_match.group(2), n_a_match.group(3)
100,M #just what I want
>>>str1="20M10000N80M"
>>>n_a_match = num_alpha.match(str1)
>>>n_a_match.groups()
('80M', '80', 'M') #only the last one, how can I get the first two?
#expected result ('20M','20','M','10000N','10000','N','80M','80','M')
यह नियमित अभिव्यक्ति श्रृंखलाएं जिनमें केवल एक मैच होते हैं, लेकिन मैचों में से नहीं कई समूहों के लिए अच्छी तरह से काम करता है: निम्नलिखित कोड मैं प्रयोग किया जाता है। नियमित अभिव्यक्तियों का उपयोग करके मैं इसे कैसे संभाल सकता हूं?
ग्रेट। मुझे 'findall() 'निष्पादन याद नहीं आया। अंतिम नियमित अभिव्यक्ति की सराहना करें। – ct586
सभी उत्तरों महान हैं। अगर अनुमति है, तो मैं तीनों का चयन करूंगा। मैंने इसे दूसरी नियमित अभिव्यक्ति के लिए चुना है जो मैं चाहता हूं। फिर, सभी को धन्यवाद। – ct586