Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में नियमित अभिव्यक्ति मिलान

<घंटा/>

मान लीजिए कि हमें एक इनपुट स्ट्रिंग str और एक पैटर्न p दिया गया है, तो हमें समर्थन के साथ नियमित अभिव्यक्ति मिलान को लागू करने की आवश्यकता है। और *.

इन प्रतीकों के कार्य होने चाहिए -

  • . --> किसी एक वर्ण से मेल खाता है।

  • * --> पिछले तत्वों के शून्य या अधिक से मेल खाता है।

मिलान में संपूर्ण इनपुट स्ट्रिंग शामिल होनी चाहिए (आंशिक नहीं)।

नोट

  • str खाली हो सकता है और इसमें केवल लोअरकेस अक्षर a-z होते हैं।

  • p खाली हो सकता है और इसमें केवल लोअरकेस अक्षर a-z, और वर्ण जैसे होते हैं। या *.

उदाहरण के लिए -

यदि इनपुट है -

const str ='aa';const p ='a';

तब आउटपुट गलत होना चाहिए क्योंकि a संपूर्ण स्ट्रिंग a से मेल नहीं खाता है।

उदाहरण

निम्नलिखित कोड है -

const regexMatching =(str, p) => { const ZERO_OR_MORE_CHARS ='*'; कास्ट Any_CHAR ='।'; कॉन्स मैच =ऐरे (str.length + 1)। फिल (नल)। मैच [0] [0] =सच; के लिए (चलो col =1; col <=p.length; col +=1) { const patternIndex =col - 1; अगर (पी [पैटर्न इंडेक्स] ===ZERO_OR_MORE_CHARS) {मिलान [0] [कॉल] =मैच [0] [कॉल - 2]; } और {मैच [0] [कोल] =झूठा; } } के लिए (पंक्ति =1 दें; पंक्ति <=str.length; पंक्ति + =1) {मिलान [पंक्ति] [0] =झूठा; } के लिए (पंक्ति =1; पंक्ति <=str.length; पंक्ति + =1) { के लिए (col =1; col <=p.length; col + =1) { const stringIndex =row - 1; कॉन्स्ट पैटर्न इंडेक्स =कर्नल -1; अगर (पी [पैटर्न इंडेक्स] ===ZERO_OR_MORE_CHARS) { अगर (मिलान [पंक्ति] [कॉल - 2] ===सच) {मिलान [पंक्ति] [कॉल] =सच; } और अगर ((p[patternIndex - 1] ===str[stringIndex] || p[patternIndex - 1] ===ANY_CHAR) &&मैच [पंक्ति -1] [col] ===सच) {मिलान [पंक्ति [कोल] =सच; } और {मैच [पंक्ति] [col] =झूठा; } } और अगर (p[patternIndex] ===str[stringIndex] || p[patternIndex] ===ANY_CHAR) {मैच [पंक्ति] [कॉल] =मैच [पंक्ति -1] [कॉल -1]; } और {मैच [पंक्ति] [col] =झूठा; } } } वापसी मैच [str.length][p.length];};console.log(regexMatching('aab', 'c*a*b'));

आउटपुट

कंसोल पर आउटपुट निम्नलिखित है -

<पूर्व>सत्य
  1. जावास्क्रिप्ट रेगुलर एक्सप्रेशन संशोधक को उदाहरणों के साथ समझाएं

    जावास्क्रिप्ट रेगुलर एक्सप्रेशन संशोधक रेगुलर एक्सप्रेशन का वैकल्पिक हिस्सा हैं और हमें केस असंवेदनशील और वैश्विक खोजकर्ता करने की अनुमति देते हैं। संशोधक को एक साथ भी जोड़ा जा सकता है। संशोधक निम्नलिखित हैं - संशोधक विवरण g यह वैश्विक मिलान को सक्षम बनाता है और पहले मैच पर रुकने के बजाय सभी मि

  1. जावास्क्रिप्ट में नामित फ़ंक्शन अभिव्यक्ति

    जावास्क्रिप्ट में नामित फ़ंक्शन अभिव्यक्ति को लागू करने के लिए कोड निम्नलिखित है। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <

  1. जावास्क्रिप्ट में यील्ड* एक्सप्रेशन/कीवर्ड।

    उपज* अभिव्यक्ति का उपयोग किसी अन्य जनरेटर या चलने योग्य वस्तु को संदर्भित करने के लिए किया जाता है। जावास्क्रिप्ट में यील्ड* एक्सप्रेशन/कीवर्ड को लागू करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" />