जावास्क्रिप्ट रेगुलर एक्सप्रेशन में करैक्टर सेट
करैक्टर समूह \d और \w बहुत
लचीले नहीं हैं। यहाँ तक कि इतना सरल कार्य,
जैसे सभी अक्षर ढूंढना, लेकिन संख्याएँ नहीं -
उनके द्वारा हल नहीं किया जा सकता है। ऐसे कार्यों के लिए
वर्गाकार कोष्ठकों का उपयोग करना चाहिए, जो
'या' के ऑपरेशन का प्रतिनिधित्व करते हैं।
वर्गाकार कोष्ठक अंदर सूचीबद्ध किसी भी एक करैक्टर
का स्थान लेते हैं। उदाहरण के लिए,
इस तरह: /x[abc]x/ - हम कहते हैं कि
किनारों पर एक्स अक्षर होने चाहिए, और अंदर
- एक करैक्टर: या तो 'a', या 'b',
या 'c'।
वर्गाकार कोष्ठकों के बाद पुनरावृत्ति ऑपरेटर
लिखे जा सकते हैं। उदाहरण के लिए, इस तरह: /x[abc]+x/
- हम कहते हैं कि एक्स के अंदर
'a', 'b' और 'c' करैक्टरों की कोई भी संख्या हो सकती है
- किसी भी संयोजन में।
न केवल करैक्टरों को सूचीबद्ध किया जा सकता है, बल्कि
दो करैक्टरों के बीच हाइफन डालकर करैक्टरों के
समूह बनाए जा सकते हैं। उदाहरण के लिए, इस तरह: [a-d] -
हमें 'a' से
'd' तक के सभी करैक्टर मिलते हैं।
आइए उदाहरणों पर नजर डालें।
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 'a'
से 'z' तक कोई भी अक्षर:
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! ! x@x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 'a'
से 'k' तक कोई भी अक्षर:
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! xmx x@x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 'A'
से 'Z' तक कोई भी अक्षर:
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'xax ! xcx x@x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 0 से 9 तक कोई भी अंक:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'xax ! ! ! x@x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 3-वें से 7-वें तक कोई भी अंक:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'xax x1x ! ! x@x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 'a'
से 'z' तक कोई भी अक्षर या 1 से 9 तक का अंक:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! ! ! x@x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 'a'
से 'z' तक कोई भी अक्षर या 'A' से
'Z' तक का अक्षर:
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! ! x5x x@x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 'a'
से 'z' तक कोई भी अक्षर या अंक 1, 2:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! ! ! x3x'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
एक्स के बीच 'a' से 'z' तक के अक्षर
1 और अधिक की संख्या में:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'xx ! ! ! x123x xa3x'
उदाहरण
आइए ऐसा बनाते हैं कि अक्षरों की संख्या शून्य भी हो सकती है:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! ! ! x123x xa3x'
व्यावहारिक समस्याएं
एक स्ट्रिंग दी गई है:
let str = 'aba aea aca aza axa';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - 'b', 'e'
या 'x' अक्षर।
एक स्ट्रिंग दी गई है:
let str = 'a1a a3a a7a a9a aba';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - 3-वें से 6-वें तक का अंक।
एक स्ट्रिंग दी गई है:
let str = 'aba aea afa aha aga';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - a से g तक का अक्षर।
एक स्ट्रिंग दी गई है:
let str = 'aba aea afa aha aga';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - a से f और j से z तक का अक्षर।
एक स्ट्रिंग दी गई है:
let str = 'aAa aea aEa aJa a3a';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - a से f और A से D तक का अक्षर।
एक स्ट्रिंग दी गई है:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - छोटे लैटिन अक्षर,
बाकियों को प्रभावित किए बिना।
एक स्ट्रिंग दी गई है:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - छोटे और बड़े लैटिन
अक्षर, बाकियों को प्रभावित किए बिना।
एक स्ट्रिंग दी गई है:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
एक रेगुलर एक्सप्रेशन लिखें, जो निम्नलिखित पैटर्न
के अनुसार ढूंढेगी: किनारों पर 'a' अक्षर हैं,
और उनके बीच - छोटे लैटिन अक्षर
और अंक, बाकियों को प्रभावित किए बिना।