एक वर्ग ब्रैकेट से मेल खाने वाली नियमित अभिव्यक्ति क्या है?


95

मुझे एक वर्ग चाहिए जो एक वर्ग ब्रैकेट से मेल खाता है [। मैं अभी तक एक नहीं मिला है। मुझे लगता है कि मैंने सभी संभावनाओं की कोशिश की, लेकिन सही नहीं पाया। इसके लिए एक वैध रेगेक्स क्या है?

जवाबों:


111

\स्क्वायर ब्रैकेट के सामने बैकस्लैश का उपयोग कैसे करें । सामान्य रूप से वर्गाकार कोष्ठक वर्ण वर्ग से मेल खाते हैं।


20
यदि आप इस regex को C # में लिखने का प्रयास कर रहे हैं, तो आपको वर्ग ब्रैकेट के सामने \\ का उपयोग करना होगा।
Shrewdroid

4
वास्तव में मुझे नहीं पता कि यह कहां काम करता है और क्यों इस तरह के उत्तर को उच्च रैंक प्राप्त हुआ।
विटाली पोम

45

उपयोग करने का प्रयास करें \\[, या बस \[


14

यदि आप एक अभिव्यक्ति के साथ शुरू [और समाप्त करना चाहते हैं ], तो उपयोग करें \[[^\]]*\]


11

क्या आप इससे बच रहे हैं \?

/\[/

यहां नियमित एक्सप्रेशन के साथ आरंभ करने के लिए एक उपयोगी संसाधन है:

Regular-Expressions.info


6

सामान्य तौर पर, जब आपको एक चरित्र की आवश्यकता होती है जो कि रेगेक्स में "विशेष" होता है, तो बस इसे एक के साथ उपसर्ग करें \। तो एक शाब्दिक [होगा \[


5

आप एक ही समय में वर्ग कोष्ठक के दोनों रूपों को खोजने के लिए देख रहे हैं, तो आपको निम्न पैटर्न जो की एक सीमा को परिभाषित करता है का उपयोग कर सकते या तो[ संकेत या] संकेत:/[\[\]]/


आप पहले बैकस्लैश को छोड़ सकते हैं। [[\]]या तो ब्रैकेट से मेल खाएगा। कुछ regex बोलियों (उदाहरण के लिए grep) में आप बैकस्लैश को छोड़ सकते हैं ]यदि आप इसे रखने के तुरंत बाद [(क्योंकि एक खाली वर्ण वर्ग कभी उपयोगी नहीं होगा) [][]। लेकिन यह जावा या जावास्क्रिप्ट में काम नहीं करता है।
cayhorstmann


1

यदि आप [या को हटाना चाहते हैं ], तो अभिव्यक्ति का उपयोग करें "\\[|\\]":।

दो बैकस्लैश स्क्वायर ब्रैकेट से बच जाते हैं और पाइप एक "या" है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.