Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的内联正则表达式_Javascript_Regex - Fatal编程技术网

JavaScript中的内联正则表达式

JavaScript中的内联正则表达式,javascript,regex,Javascript,Regex,我正在尝试替换字符串中出现的所有字符。 当我使用RegExp()对象创建正则表达式时,这会起作用: var str = "a-b-c-d"; var regex = new RegExp('\-','g'); str.replace(regex,'@'); 所以这很有效,我得到了“a@b@c@d“ 如果我想使用内联正则表达式,比如: str.replace("/\-/g",'@') 它不起作用。如何在不使用RegExp()的情况下执行此操作 删除引号(Regex-literal而不是st

我正在尝试替换字符串中出现的所有字符。 当我使用RegExp()对象创建正则表达式时,这会起作用:

var str = "a-b-c-d";

var regex = new RegExp('\-','g');

str.replace(regex,'@');
所以这很有效,我得到了“a@b@c@d“

如果我想使用内联正则表达式,比如:

str.replace("/\-/g",'@')
它不起作用。如何在不使用RegExp()的情况下执行此操作

删除引号(Regex-literal而不是string-literal):

删除引号(Regex-literal而不是string-literal):

删除引号(Regex-literal而不是string-literal):

删除引号(Regex-literal而不是string-literal):

求你了求你了求你了求你了。
str.replace(/\-/g,'@')