2013-04-23 11 views
7

मैं एक regex है कि या तो \ या / से मेल खाता है लिखने की कोशिश कर रहा हूँ।लेखन: [ /] ( या/regex) सही ढंग से?

क्या आदेश मैं इसे लिखने में कोई फर्क नहीं पड़ता:

[//\] 

या

[/\\] 

यह किसी भी तरह या तो मेरी वर्ग कोष्ठक या मेरे फ़ॉरवर्ड स्लैश भागने है। इस विशेष मामले को दिखाने का सही तरीका क्या है?

+0

अब मैंने देखा है, मेरा मतलब था '[\\ /] 'या' [/ \\]' लेकिन मुझे यकीन है कि ज्यादातर लोगों को यह मिल गया है। मैं अपना जवाब संपादित नहीं करूंगा क्योंकि नीचे दिए गए उत्तर में मेरी गलती का संदर्भ है और मैं उपयोगकर्ताओं को भ्रमित नहीं करना चाहता हूं। उम्मीद है कि अगर किसी के पास यह है तो मेरे तर्क पर कोई संदेह नहीं है। –

उत्तर

10

हां, आप दूसरे रेगेक्स में समापन ब्रैकेट से बच रहे हैं, और पहला स्ट्रिंग के रूप में संकलित नहीं होगा। आप चाहते हैं

"[/\\\\]" 

प्रश्न में अपने रेगुलर एक्सप्रेशन से दोनों सही सादा regex कर रहे हैं। हालांकि, चूंकि रेगेक्स जावा स्ट्रिंग अक्षर के अंदर निर्दिष्ट है, \ निर्दिष्ट करने के लिए, आपको इसे \\ से बचने की आवश्यकता है। इसलिए, हम "[/\\\\]" या "[\\\\/]" के साथ समाप्त होते हैं।

संक्षेप में, रेगेक्स में \ सही ढंग से निर्दिष्ट करने के लिए, हमें इसे \\ से बचाना होगा। और जावा स्ट्रिंग शाब्दिक में \\ सही ढंग से निर्दिष्ट करने के लिए, हमें \\\\ से बचने की दूसरी परत को जोड़ना होगा।

+3

'एक शाब्दिक \ नियमित अभिव्यक्ति में हमें लिखना होगा \\\\।' नहीं ''\\' 'पर्याप्त है। कारण यह है कि हमें जावा शाब्दिक स्ट्रिंग से बचने की एक और परत की आवश्यकता है। – nhahtdh

+0

आप सही हैं, मुझे बेहतर वाक्यांश की कोशिश करने दें। – arshajii

+0

धन्यवाद! यह वही था जो मुझे चाहिए था। : डी –

संबंधित मुद्दे