जावास्क्रिप्ट रेगएक्स परीक्षण विफल: समस्या को डिकोड करना
जावास्क्रिप्ट के दायरे में, एक डेवलपर को एक पेचीदा दुविधा का सामना करना पड़ा: उनका नियमित अभिव्यक्ति पैटर्न लगातार किसी भी इनपुट के लिए गलत परिणाम मिले। ऑनलाइन संपादकों के साथ अपना कोड साझा करने पर, यह आश्चर्यजनक रूप से इच्छानुसार कार्य करने लगा। बारीकी से जांच करने पर अपराधी का पता चला: अनुचित बैकस्लैश हैंडलिंग। -9]|1[0-2])/\d{4}$", "g");
हालाँकि, एक स्ट्रिंग से रेगुलर एक्सप्रेशन बनाते समय, प्रत्येक बैकस्लैश वर्ण को दोगुना करना महत्वपूर्ण है। ऐसा इसलिए है क्योंकि पार्सर स्ट्रिंग की शाब्दिक व्याख्या करता है और बैकस्लैश के लिए अपने स्वयं के नियम लागू करता है, जिसके परिणामस्वरूप एक संशोधित अभिव्यक्ति होती है जो इच्छित पैटर्न से भिन्न होती है।
var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");
^(0[1-9]|1[0-2])/d{4}$इसके बजाय, स्ट्रिंग के भीतर बैकस्लैश को दोगुना किया जाना चाहिए:^(0[1-9]|1[0-2])/d{4}$
यह संशोधन सुनिश्चित करता है कि पार्सर व्याख्या करता है पैटर्न सही ढंग से, इसे महीनों और वर्षों के लिए वांछित प्रारूप को पहचानने की अनुमति देता है। -9]|1[0-2])\/\d{4}$/g;
यह स्ट्रिंग इंटरपोलेशन की आवश्यकता को समाप्त करता है और पैटर्न को व्यक्त करने के लिए अधिक सहज वाक्यविन्यास प्रदान करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3