Javascript 为什么';这个正则表达式输出是否正确?

Javascript 为什么';这个正则表达式输出是否正确?,javascript,regex,Javascript,Regex,它应该输出橘子是圆的,橘子是多汁的。,因为不区分大小写,但是它反而输出苹果是圆的,橘子是多汁的。 为什么?似乎str.replace函数只有一个,而不是三个 所以我猜你得写 var re = /apples/gi; var str = "Apples are round, and apples are juicy."; var newstr = str.replace("apples", "oranges","gi"); document.write(newstr); 相反。似乎str

它应该输出
橘子是圆的,橘子是多汁的。
,因为不区分大小写,但是它反而输出
苹果是圆的,橘子是多汁的。


为什么?

似乎
str.replace
函数只有一个,而不是三个

所以我猜你得写

var re = /apples/gi;  
var str = "Apples are round, and apples are juicy.";  
var newstr = str.replace("apples", "oranges","gi");
document.write(newstr);

相反。

似乎
str.replace
函数只有,而不是三个

所以我猜你得写

var re = /apples/gi;  
var str = "Apples are round, and apples are juicy.";  
var newstr = str.replace("apples", "oranges","gi");
document.write(newstr);

相反。

由于某种原因,您的示例中的
re
变量未被使用

var newstr = str.replace(/apples/gi, "oranges");

由于某种原因,示例中的
re
变量未被使用

var newstr = str.replace(/apples/gi, "oranges");
没有具有该签名的方法,而是使用您创建的正则表达式,如下所示:

var str = "Apples are round, and apples are juicy.";  
var newstr = str.replace(/apples/gi, "oranges");
document.write(newstr);
.

没有使用该签名的方法,而是使用您创建的正则表达式,如下所示:

var str = "Apples are round, and apples are juicy.";  
var newstr = str.replace(/apples/gi, "oranges");
document.write(newstr);
.

试试:

var re = /apples/gi;  
var str = "Apples are round, and apples are juicy.";  
var newstr = str.replace(re, "oranges");
尝试:


您从不使用
re
变量,String.replace()的第三个参数是非标准的,因此它不能在所有浏览器中工作:


您从未使用过
re
变量,String.replace()的第三个参数是非标准参数,因此无法在所有浏览器中使用:

列为“非标准”:列为“非标准”: