नीचे दिए गए रेगेक्स में, \s
एक अंतरिक्ष चरित्र को दर्शाता है। मैं रेगेक्स पार्सर की कल्पना करता हूं, स्ट्रिंग के माध्यम से जा रहा है और \
देखता है और जानता है कि अगला चरित्र विशेष है।रेगेक्स कन्स्ट्रक्टर को डबल से बचने की आवश्यकता क्यों है?
लेकिन ऐसा नहीं है क्योंकि डबल एस्केप की आवश्यकता है।
यह क्यों है?
var res = new RegExp('(\\s|^)' + foo).test(moo);
क्या कोई ठोस उदाहरण है कि किसी अन्य भाग को किसी अन्य चीज़ के रूप में गलत तरीके से कैसे व्याख्या किया जा सकता है?
याद रखें, ऐसा नहीं है कि जावा या Regexp निर्माता को स्पष्टीकरण की आवश्यकता है, यह संकलक (या पार्सर) है। – GJK
पहले से ही सही उत्तरों में जोड़ने के लिए: ध्यान दें कि यदि आप जावास्क्रिप्ट में एक RegExp अक्षर लिखते हैं, तो आपको * बैकस्लैश से बचने की आवश्यकता नहीं है, जैसा कि आपको संदेह होगा: '/ (\ s | ^) /' –