Javascript 使用replace()、全局修饰符和转义字符生成注释

Javascript 使用replace()、全局修饰符和转义字符生成注释,javascript,jquery,replace,Javascript,Jquery,Replace,在我计算出replace()只替换字符串中所查找内容的第一个实例之前,我已经使用了internet 我知道如果要搜索并替换x的整个字符串,必须使用/x/g 我的问题是,我正在搜索两个容易混淆的字符。星号和斜杠,当它们中的任何一个使用得太近时,会触发注释 我从来没有学过JavaScript,所以如果这很简单,我很抱歉,但我已经尝试了下面的许多不同版本,我真的记不清了 $('#answer').delay(1000).each(function(){

在我计算出
replace()
只替换字符串中所查找内容的第一个实例之前,我已经使用了internet

我知道如果要搜索并替换
x
的整个字符串,必须使用
/x/g

我的问题是,我正在搜索两个容易混淆的字符。星号和斜杠,当它们中的任何一个使用得太近时,会触发注释

我从来没有学过JavaScript,所以如果这很简单,我很抱歉,但我已经尝试了下面的许多不同版本,我真的记不清了

$('#answer').delay(1000).each(function(){
                              $this = $(this);
                              $this.html($this.html().replace(/\*/g, 'x').replace(/\/\/g, '÷'));
                                         });
当像这样使用时,
.replace('*','x').replace('/','÷')
只对一个结果有效


感谢您的帮助。

这与您描述的完全一样,因此,如果您遇到问题,请找其他地方。您刚刚编写了一个不正确的正则表达式,并且没有读入错误:)正则表达式必须介于/符号之间,并且在任何情况下都不需要转义

....replace(/\//g, '÷').replace(/\*/g, 'x');

"5*4/2=10".replace(/\//, '÷').replace(/\*/, 'x');
// returns "5x4÷2=10"
在某些情况下,使用新的RegExp对象将提供更好的可读性,但在您的情况下,这可能会很笨拙

"5*4/2=10".replace(new RegExp('/', 'g'), '÷').replace(new RegExp('\\*', 'g'), 'x');

第二个
.replace()
中是否应该是
/\/\//g
?另外,您检查控制台了吗?此代码给出了一个语法错误。但是
/
一起也会触发注释。当我退出double时,控制台说我缺少
/
/
如果它是正则表达式的一部分,则不会触发注释。使用
/\/\/\/g
表示“无效正则表达式:缺少/”。。。使用
/\/\//g
会得到“意外令牌”,因为行的其余部分会在
/
之后被注释掉