जावास्क्रिप्ट रेगुलर एक्सप्रेशन में सेट के अंदर कैरेट प्रतीक
जैसा कि आप जानते हैं, [ ] के अंदर कैरेट,
यदि कोष्ठकों की शुरुआत में लिखा जाए, तो
नकारात्मकता (negation) बनाता है।
इसका मतलब है कि यह इन कोष्ठकों के अंदर
एक विशेष प्रतीक (special character) है। कैरेट को एक प्रतीक के रूप में
प्राप्त करने के लिए, या तो इसे एस्केप (escape) करना होगा,
या इसे पहले स्थान से हटाना होगा।
उदाहरण
निम्नलिखित उदाहरण में, खोज पैटर्न इस प्रकार है:
पहला वर्ण 'd' को छोड़कर सब कुछ है,
उसके बाद दो अक्षर 'x'।
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! ! dxx'
उदाहरण
और अब खोज पैटर्न इस प्रकार है: पहला वर्ण
'd' या '^' है, उसके बाद
दो अक्षर 'x':
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'axx bxx ! !'
उदाहरण
कैरेट को पहले स्थान से हटाने की आवश्यकता नहीं है, बस बैकस्लैश का उपयोग करके इसे एस्केप कर दें, और यह स्वयं को दर्शाने लगेगा:
let str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'axx bxx ! !'
व्यावहारिक समस्याएं
एक स्ट्रिंग दी गई है:
let str = '^xx axx ^zz bkk @ss';
एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स को इस पैटर्न के अनुसार ढूंढे: कैरेट या एट द रेट (at the rate), और फिर दो लैटिन अक्षर।
एक स्ट्रिंग दी गई है:
let str = '^xx axx ^zz bkk @ss';
एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स को इस पैटर्न के अनुसार ढूंढे: कैरेट नहीं और न ही एट द रेट (at the rate), और फिर दो लैटिन अक्षर।
एक स्ट्रिंग दी गई है:
let str = '^xx axx ^zz bkk';
एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स को इस पैटर्न के अनुसार ढूंढे: कैरेट नहीं और न ही स्पेस (space), और फिर दो लैटिन अक्षर।