जावास्क्रिप्ट स्ट्रिंग मिलान () विधि नियमित अभिव्यक्ति के खिलाफ एक स्ट्रिंग के मिलान के परिणामों का एक पुनरावृत्ति देता है।
matchAll()
विधि का सिंटैक्स है:
str.matchAll(regexp)
यहाँ, str
एक स्ट्रिंग है।
matchAll () पैरामीटर
matchAll()
विधि में लेता है:
- regexp - एक नियमित अभिव्यक्ति ऑब्जेक्ट (तर्क
RegExp
यह माना जाता है कि अगर यह एक गैर-RegExp
ऑब्जेक्ट है)
नोट: यदि RegExp
वस्तु में /g
ध्वज नहीं है, तो TypeError
उसे फेंक दिया जाएगा।
मिलान से वापसी मूल्य ()
- कैप्चरिंग समूहों सहित मैचों से युक्त एक पुनरावृत्ति देता है।
नोट : लौटे हुए इट्रेटर के प्रत्येक आइटम में निम्नलिखित अतिरिक्त गुण होंगे:
groups
- नामित कैप्चर समूहों के नाम और मूल्यों के रूप में चाबियाँ रखने वाले नामित कैप्चरिंग ऑब्जेक्ट की एक वस्तु।index
- खोज का सूचकांक जहां परिणाम पाया गया था।input
- खोज स्ट्रिंग की एक प्रति।
उदाहरण 1: माचिस का उपयोग करना ()
const string = "I am learning JavaScript not Java."; const re = /Java(a-z)*/gi; let result = string.matchAll(re); for (match of result) ( console.log(match); )
आउटपुट
('जावास्क्रिप्ट', सूचकांक: 14, इनपुट: 'मैं जावास्क्रिप्ट सीख रहा हूँ जावा नहीं।', समूह: अपरिभाषित) ('जावा', सूचकांक: 29, इनपुट: 'मैं जावास्क्रिप्ट सीख रहा हूँ जावा नहीं।', समूह: अपरिभाषित।
यहाँ, लौटर का उपयोग करके लौटाए गए पुनरावृत्त को पुनरावृत्त किया जाता है for… of
।
उदाहरण 2: समूहों को पकड़ने के लिए माचिस का उपयोग करना
const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) // using named capturing groups const re = /namesiss(?(a-zA-Z)+)./gi; let found = string.matchAll(re); for (const match of found)( console.log(`Found "$(match(0))" at index $(match.index). Captured name = $(match.groups('name'))`) )
आउटपुट
"नाम अल्बर्ट है।" सूचकांक में 3. कैद नाम = अल्बर्ट पाया "NAME सोयुज है।" इंडेक्स 24 पर। कैद नाम = सोयुज
यहां, हमने स्ट्रिंग के एक निश्चित हिस्से से मेल खाने के लिए एक नियमित अभिव्यक्ति का उपयोग किया है। हम मैच में कुछ समूहों को matchAll()
बेहतर उपयोग करके पकड़ सकते हैं match()
।
अनुशंसित पढ़ना: जावास्क्रिप्ट स्ट्रिंग मैच ()