जब मैं वैश्विक ध्वज और केस असंवेदनशील ध्वज का उपयोग करता हूं तो इस नियमित अभिव्यक्ति के साथ क्या समस्या है? प्रश्न उपयोगकर्ता उत्पन्न इनपुट है। परिणाम [सच, सच] होना चाहिए।वैश्विक ध्वज के साथ RegExp गलत परिणाम क्यों देता है?
var query = 'Foo B';
var re = new RegExp(query, 'gi');
var result = [];
result.push(re.test('Foo Bar'));
result.push(re.test('Foo Bar'));
// result will be [true, false]
var reg = /^a$/g;
for(i = 0; i++ < 10;)
console.log(reg.test("a"));
जावास्क्रिप्ट में RegExp के कई जाल में से एक में आपका स्वागत है। यह रीजिक्स प्रसंस्करण के लिए सबसे खराब इंटरफेस में से एक है जिसे मैंने कभी मिले हैं, अजीब साइड इफेक्ट्स और अस्पष्ट चेतावनी से भरा है। आमतौर पर रेगेक्स के साथ आप जो सामान्य कार्य करना चाहते हैं, वे सही वर्तनी करना मुश्किल हैं। – bobince
XRegExp एक अच्छा विकल्प की तरह दिखता है। http://xregexp.com/ – about
यहां उत्तर भी देखें: http://stackoverflow.com/questions/604860/interesting-test-of-javascript-regexp – Prestaul