मैं अजगर के साथ एक लॉग को पार्स कर रहा हूँ और जरूरत जल्दी से यहकई समूह एकल regex
इस सरल बराबर regex और उपयोग का उदाहरण देखने
pat = re.compile("(1(2[3456]+2)+1)*")
यह काम नहीं करता है कुछ मान लाने के लिए मेल खाता है जैसा कि अपेक्षित है, केवल अंतिम मैच समूह pat.match() द्वारा समूह लौटाया जाता है। समूह()
ऐसी समस्याओं के लिए सबसे आसान समाधान क्या है?
अद्यतन (विकि इंजन बल्कि नई पोस्ट बनाने की तुलना में संपादित उपयोग करने के लिए कहते हैं के रूप में):
मैं बार-बार मैचों की जरूरत है, निश्चित रूप से।
to_match="1232112542254211232112322421"
रेगेक्स खोजने को दो बार पुनरावर्ती रूप से लागू करने की आवश्यकता है। मैं इसे सहन कर सकता हूं, लेकिन क्या कोई विकल्प है?
बदलें '*' '' ''। '" (1 (2 [3456] +2) +1)? "' –
[पायथन रेगेक्स एकाधिक समूहों] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/4963691/), [एकाधिक अभिव्यक्ति समूह एकाधिक के साथ कैप्चर मैचों] (http://stackoverflow.com/questions/5598340/), [पायथन regexes: समूह के एकाधिक मैचों तक कैसे पहुंचे?] (http://stackoverflow.com/questions/5060659/)। – outis