पहले और अंतिम के बीच [ ] एक विकल्प का मिलान करने के लिए , आप उपयोग कर सकते हैं
\[.*\] # Including open/close brackets
\[(.*)\] # Excluding open/close brackets (using a capturing group)
(?<=\[).*(?=\]) # Excluding open/close brackets (using lookarounds)
एक रेगीक्स डेमो और एक रेगेक्स डेमो # 2 देखें ।
निकटतम वर्ग कोष्ठक के बीच तार का मिलान करने के लिए निम्नलिखित भावों का उपयोग करें :
कोष्ठक सहित:
\[[^][]*]- पीसीआरई, पायथन re/ regex, .NET, गोलंग, पोसिक्स (ग्रीप, सेड, बैश)
\[[^\][]*]- ECMAScript (जावास्क्रिप्ट, C ++ std::regex, VBA RegExp)
\[[^\]\[]*] - जावा रेगेक्स
\[[^\]\[]*\] - ओनिग्मो (रूबी, हर जगह कोष्ठक से बचने की आवश्यकता है)
कोष्ठक को छोड़कर:
(?<=\[)[^][]*(?=])- पीसीआरई, पायथन re/ regex, .NET (C #, आदि), ICU (R stringr), JGSoft सॉफ्टवेयर
\[([^][]*)]- बैश , गोलंग - बिना किसी कोष्ठक के जोड़े के साथ वर्ग कोष्ठक के बीच की सामग्री को कैप्चर करें, नीचे भी देखें
\[([^\][]*)]- जावास्क्रिप्ट , सी ++std::regex , वीबीएRegExp
(?<=\[)[^\]\[]*(?=]) - जावा रेगेक्स
(?<=\[)[^\]\[]*(?=\]) - ओनिग्मो (रूबी, हर जगह कोष्ठक से बचने की आवश्यकता है)
नोट : *0 या अधिक वर्णों से मेल खाता है, उपयोग करें+ से मेल खाता है, परिणामी सूची / सरणी में खाली स्ट्रिंग मिलान से बचने के लिए 1 या अधिक से मेल खाने के लिए करें।
जब भी दोनों लुकअप समर्थन उपलब्ध होते हैं, तो उपरोक्त समाधान अग्रणी / अनुगामी ओपन / क्लोज ब्रैकेट को बाहर करने के लिए उन पर भरोसा करते हैं। अन्यथा, कैप्चरिंग समूहों (कुछ भाषाओं में सबसे आम समाधानों के लिंक प्रदान किए गए हैं) पर भरोसा करें।
यदि आपको नेस्टेड कोष्ठक से मेल खाने की आवश्यकता है , तो आप संतुलित कोष्ठक के धागे से मेल खाने के लिए रेगुलर एक्सप्रेशन में समाधान देख सकते हैं और आवश्यक कार्यक्षमता प्राप्त करने के लिए गोल कोष्ठकों को स्क्वायर लोगों के साथ बदल सकते हैं। आपको खुली / बंद ब्रैकेट वाली सामग्री को बाहर करने के लिए कैप्चरिंग समूहों का उपयोग करना चाहिए:
[^]]गैर-लालची (?) की तुलना में अन्य उत्तर की विधि का उपयोग तेजी से होता है , और रेगेक्स फ्लेवर के साथ भी काम करता है जो गैर-लालची का समर्थन नहीं करते हैं। हालांकि, गैर-लालची अच्छे दिखते हैं।