मैं किसी रेगेक्स के साथ ब्रैकेट के बाहर किसी भी पाठ को पकड़ने की कोशिश कर रहा हूं।रीजिक्स ब्रैकेट के बाहर सभी पाठ प्राप्त करने के लिए
उदाहरण स्ट्रिंग
जोसी स्मिथ [3996 कॉलेज एवेन्यू, SOMETOWN, एमडी 21003] Mugsy कुत्ता स्मिथ [2560 ओक अनुसूचित जनजाति, GLENMEADE, WI 14,098]
मैं कर सकती हूं पाठ के अंदर स्क्वायर ब्रैकेट सफलतापूर्वक प्राप्त करने के लिए:
addrs = re.findall(r"\[(.*?)\]", example_str)
print addrs
[u'3996 COLLEGE AVENUE, SOMETOWN, MD 21003',u'2560 OAK ST, GLENMEADE, WI 14098']
लेकिन मुझे स्क्वायर ब्रैकेट के के बाहर कुछ भी परेशानी हो रही है।
names = re.findall(r"(.*?)\[.*\]+", example_str)
लेकिन यह है कि केवल प्रथम नाम पाता है:
print names
[u'Josie Smith ']
अब तक मैं केवल एक स्ट्रिंग दो name [address]
कॉम्बो करने के लिए एक से युक्त देखा है, लेकिन मैं मैं निम्नलिखित की तरह कुछ की कोशिश की है मैं मानता हूं कि उनमें से कोई भी स्ट्रिंग में हो सकता है। सभी कि एक उद्घाटन वर्ग कोष्ठक वर्ग कोष्ठकों में कुछ या स्ट्रिंग
ब्रैकेट को नेस्टेड किया जा सकता है – aaronman
@Aaronman मुझे लगता है कि कोई नेस्टेड ब्रैकेट नहीं होगा। अच्छा प्रश्न। – Banjer