why does my javascript regex.test() give alternating results -


संभव डुप्लिकेट:

  var r = / \ d / g; Var a = r.test ("1"); // सही होगा var b = r.test ("1"); // गलत कंसोल होगा। लॉग (a == b); // गलत होगा  

कृपया मुझे बताएं कि प्रत्येक कॉल के साथ r.test ("1") के परिणाम क्यों बदलते हैं?

मैं आसपास काम करने में सक्षम था जी मॉडरिफ़र को हटाने के द्वारा मेरे पास समस्या थी फिर भी मैं यह समझना चाहूंगा कि ऐसा क्यों होता है।

जब आप / g का उपयोग कर रहे हैं , regex ऑब्जेक्ट कॉल के बीच राज्य को बचाएगा (चूंकि आप इसे एकाधिक कॉल्स से मेल करने के लिए उपयोग करना चाहिए)। यह एक बार से मेल खाता है, लेकिन बाद की कॉल मूल मैच के बाद से शुरू होती है।

(यह एक डुप्लिकेट है)


Comments