मैं एक आश्चर्यजनक (मेरे लिए) तथ्य को ठोकर खा गया।
console.log("asdf".replace(/.*/g, "x"));
दो प्रतिस्थापन क्यों ? ऐसा लगता है कि न्यूलाइन के बिना कोई भी गैर-रिक्त स्ट्रिंग इस पैटर्न के लिए बिल्कुल दो प्रतिस्थापन का उत्पादन करेगी। एक प्रतिस्थापन फ़ंक्शन का उपयोग करते हुए, मैं देख सकता हूं कि पहला प्रतिस्थापन पूरे स्ट्रिंग के लिए है, और दूसरा खाली स्ट्रिंग के लिए है।
"aa".replace(/b*/, "b")परिणाम का इच्छुक कार्यान्वयन कार्यान्वयन था babab। और कुछ बिंदु पर हमने वेबसर्वर्स के सभी कार्यान्वयन विवरणों को मानकीकृत किया।
"asdf".match(/.*/g)वापसी ["asdf", ""]