जावास्क्रिप्ट रेगुलर एक्सप्रेशन में वर्ण समूह
विशेष कमांड होती हैं जो पूरे वर्ण समूहों को
एक साथ चुनने की अनुमति देती हैं। कमांड
\d 0 से 9 तक के अंक को दर्शाता है।
कमांड \w अंक, लैटिन वर्ण
या अंडरस्कोर को दर्शाता है। कमांड \s
सफेद स्थान या व्हाइटस्पेस वर्ण को दर्शाता है:
स्पेस, नई लाइन, टैब। कमांड के मान को उलटा किया जा सकता है,
बड़ा अक्षर लिखकर: उदाहरण के लिए, यदि \d - अंक है,
तो \D - गैर-अंक है।
उदाहरण
आइए सभी अंकों को ढूंढते हैं:
javascriptlet str = '1 12 123';
let res = str.replace(/\d/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
javascript'! !! !!!'
उदाहरण
पुनरावृत्ति ऑपरेटर कमांड-समूहों को
एक संपूर्ण मानते हैं, यानी ग्रुपिंग ब्रैकेट
की आवश्यकता नहीं है। अगले उदाहरण में खोज पैटर्न
इस तरह दिखता है: 0 से 9 तक का अंक
एक या अधिक बार:
javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\d+/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
javascript'! ! ! abc @@@'
उदाहरण
अगले उदाहरण में खोज पैटर्न इस तरह दिखता है:
कुछ भी एक या अधिक बार,
लेकिन 0 से 9 तक का अंक नहीं:
javascriptlet str = '123abc3@@';
let res = str.replace(/\D+/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
javascript'123!3!'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है: व्हाइटस्पेस वर्ण एक बार:
javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\s/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
javascript'1!12!123!abc!@@@'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
गैर-व्हाइटस्पेस वर्ण एक या अधिक बार।
सफेद स्थानों से अलग की गई सभी सबस्ट्रिंग्स को
'!' से बदल दिया जाएगा:
javascriptlet str = '1 12 123 abc @@@';
let res = str.replace(/\S+/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
javascript'! ! ! ! !'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
अंक या अक्षर एक या अधिक बार।
अंकों और अक्षरों से बनी सभी सबस्ट्रिंग्स
को '!' से बदल दिया जाएगा:
javascriptlet str = '1 12 123a Abc @@@';
let res = str.replace(/\w+/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
javascript'! ! ! ! @@@'
उदाहरण
इस उदाहरण में खोज पैटर्न इस तरह दिखता है:
गैर-अंक और गैर-अक्षर एक या अधिक बार।
हमारे मामले में यह परिभाषा
'@@@' और सभी सफेद स्थानों पर लागू होती है (आखिरकार, वे भी
न तो अंक हैं और न ही अक्षर)। ध्यान दें
कि अंत में एक '!' है - इसमें
स्ट्रिंग ' @@@' - सामने वाले सफेद स्थान के साथ - बदल गई है:
javascriptlet str = '1 12 123 Abc @@@';
let res = str.replace(/\W+/g, '!');
परिणामस्वरूप वेरिएबल में निम्नलिखित लिखा जाएगा:
javascript'1!12!123!Abc!'
व्यावहारिक कार्य
एक स्ट्रिंग दी गई है:
javascriptlet str = 'a1a a2a a3a a4a a5a aba aca';
एक रेगुलर एक्सप्रेशन लिखें जो उन स्ट्रिंग्स को ढूंढे,
जिनमें किनारों पर 'a' अक्षर हैं,
और उनके बीच एक अंक है।
एक स्ट्रिंग दी गई है:
javascriptlet str = 'a1a a22a a333a a4444a a55555a aba aca';
एक रेगुलर एक्सप्रेशन लिखें जो उन स्ट्रिंग्स को ढूंढे,
जिनमें किनारों पर 'a' अक्षर हैं,
और उनके बीच कोई भी数量的 अंक हैं।
एक स्ट्रिंग दी गई है:
javascriptlet str = 'aa a1a a22a a333a a4444a a55555a aba aca';
एक रेगुलर एक्सप्रेशन लिखें जो उन स्ट्रिंग्स को ढूंढे,
जिनमें किनारों पर 'a' अक्षर हैं,
और उनके बीच कोई भी数量的 अंक हैं (इसमें
शून्य अंक भी शामिल हैं, यानी स्ट्रिंग 'aa')।
एक स्ट्रिंग दी गई है:
javascriptlet str = 'avb a1b a2b a3b a4b a5b abb acb';
एक रेगुलर एक्सप्रेशन लिखें जो निम्न प्रकार की स्ट्रिंग्स
ढूंढे: किनारों पर 'a' और 'b' अक्षर हैं,
और उनके बीच - अंक या सफेद स्थान नहीं है।
एक स्ट्रिंग दी गई है:
javascriptlet str = 'ave a#b a2b a$b a4b a5b a-b acb';
एक रेगुलर एक्सप्रेशन लिखें जो निम्न प्रकार की स्ट्रिंग्स
ढूंढे: किनारों पर 'a' और 'b' अक्षर हैं,
और उनके बीच - अक्षर, अंक या सफेद स्थान नहीं है।
एक स्ट्रिंग दी गई है:
javascriptlet str = 'ave a#a a2a a$a a4a a5a a-a aca';
एक रेगुलर एक्सप्रेशन लिखें जो सभी सफेद स्थानों को
'!' से बदल दे।