如何在JavaScript中使replace()全局化

如何在JavaScript中使replace()全局化,javascript,regex,Javascript,Regex,我知道这个问题已经问了很多次了,但我找不到解决办法。我有一些笑脸,每个笑脸都有使用replace()将代码呈现为笑脸的代码,但是我得到了语法错误,我不知道为什么以及如何将代码呈现给笑脸 txt = " Hi :/ "; txt.replace("/\:/\/g","<img src='img/smiley.gif'>"); txt=“Hi:/”; txt.replace(“/\:/\/g”,”); 正则表达式不需要加引号。您应该转义正确的/正斜杠(转义错误的斜杠)并指定替换项,因为

我知道这个问题已经问了很多次了,但我找不到解决办法。我有一些笑脸,每个笑脸都有使用replace()将代码呈现为笑脸的代码,但是我得到了语法错误,我不知道为什么以及如何将代码呈现给笑脸

txt = " Hi :/ ";
txt.replace("/\:/\/g","<img src='img/smiley.gif'>");
txt=“Hi:/”;
txt.replace(“/\:/\/g”,”);

正则表达式不需要加引号。您应该转义正确的
/
正斜杠(转义错误的斜杠)并指定替换项,因为它不会修改原始字符串

txt = " Hi :/ ";
txt = txt.replace(/:\//g,"<img src='img/smiley.gif'>");
txt=“Hi:/”;
txt=txt.replace(/:\//g,“”);
基于的精彩演绎,我认为您应该在正则表达式中添加多一点,以避免诸如干扰URL之类的灾难

txt = txt.replace(/:\/(?!/)/g,"<img src='img/smiley.gif'>");
txt=txt.replace(/:\/(?!/)/g,”;

上面的操作确保了
://
不匹配。

正则表达式不需要引号。您应该转义正确的
/
正斜杠(转义错误的斜杠)并指定替换项,因为它不会修改原始字符串

txt = " Hi :/ ";
txt = txt.replace(/:\//g,"<img src='img/smiley.gif'>");
txt=“Hi:/”;
txt=txt.replace(/:\//g,“”);
基于的精彩演绎,我认为您应该在正则表达式中添加多一点,以避免诸如干扰URL之类的灾难

txt = txt.replace(/:\/(?!/)/g,"<img src='img/smiley.gif'>");
txt=txt.replace(/:\/(?!/)/g,”;

上述操作确保了
://
通过执行a来匹配而不是

的第一个参数中存在两个问题,它转义了错误的字符,并且使用了一个似乎包含
正则表达式而不是实数的字符串

第二行应为:

txt.replace(/:\//g,"<img src='img/smiley.gif'>");
txt.replace(/:\//g,”);
/:\//g
regex
。第一个和最后一个
/
RegExp
分隔符,
g
是“全局”
RegExp
选项(
String.replace()
需要一个
RegExp
而不是一个字符串来进行全局替换)


regex
的内容是
://
(您要查找的字符串),但因为
/
RegExp
中有特殊含义(见上文),它需要转义,然后变成
:\/

的第一个参数中有两个问题,它转义错误的字符,并且它使用一个似乎包含
正则表达式而不是实数的字符串

第二行应为:

txt.replace(/:\//g,"<img src='img/smiley.gif'>");
txt.replace(/:\//g,”);
/:\//g
regex
。第一个和最后一个
/
RegExp
分隔符,
g
是“全局”
RegExp
选项(
String.replace()
需要一个
RegExp
而不是一个字符串来进行全局替换)


regex
的内容是
://
(您要查找的字符串),但由于
/
RegExp
(见上文)中具有特殊含义,因此需要对其进行转义,并将其变为
:\/

您可以按编写的方式发布错误吗?
txt。替换
不会修改
txt
,您需要将结果分配给一个变量-
txt=txt.replace(/:\//g,”)
还请注意未加引号的literal RE.IMO您应该考虑使用与github相同的方式(
:失望:
)而不是(
:/
),因为它在普通文本中发生的几率较小(想想url
http/google.com
是不好的)您能按写的方式发布错误吗?
txt.replace
不修改
txt
,您需要将结果分配给变量-
txt=txt.replace(/:\//g,”)
还要注意不带引号的文字RE.IMO你应该考虑用与github相同的方式来做笑脸(
:失望:
),而不是(
:/
),因为它在普通文本中发生的几率较小(想想url
http/google.com
不好)你以15秒的优势击败我:p+1你以15秒的优势击败我:p+1