Javascript 将变量传递给.replace,如何使变量与replace一起工作?
我有以下资料:Javascript 将变量传递给.replace,如何使变量与replace一起工作?,javascript,regex,Javascript,Regex,我有以下资料: var r = ':-)' html = html.replace(/r/g,"<img src=\""+icon_folder+"/face-"+emoticon+".png\" class=\"emoticonimg\" />"); 这有用吗?我怎样才能让它与“g”一起工作,从而全部替换?谢谢将构造函数与标志融合为第二个参数: var r = ':-\\)'; html = html.replace(new RegExp(r, "g"),... 将带有标志
var r = ':-)'
html = html.replace(/r/g,"<img src=\""+icon_folder+"/face-"+emoticon+".png\" class=\"emoticonimg\" />");
这有用吗?我怎样才能让它与“g”一起工作,从而全部替换?谢谢将构造函数与标志融合为第二个参数:
var r = ':-\\)';
html = html.replace(new RegExp(r, "g"),...
将带有标志的构造函数作为第二个参数进行融合:
var r = ':-\\)';
html = html.replace(new RegExp(r, "g"),...
正则表达式语法
/expr/flags
是一种文字语法。也就是说,不能在其中包含变量,就像不能在字符串文本中包含变量一样。因此表达式/r/g
没有使用r
变量,而是在查找字母“r”
另一种构造正则表达式的方法是使用RegExp()
构造函数:
new RegExp(exprString, flags)
参数是字符串,因此可以传递变量或字符串文本
var r = ':-\\)'; // note: need to escape the )
html = html.replace(new RegExp(r, "g"),"<img src=\""+icon_folder+
"/face-"+emoticon+".png\" class=\"emoticonimg\" />");
只需将正则表达式语法传递给
r
/expr/flags
是一种文字语法。也就是说,不能在其中包含变量,就像不能在字符串文本中包含变量一样。因此表达式/r/g
没有使用r
变量,而是在查找字母“r”
另一种构造正则表达式的方法是使用RegExp()
构造函数:
new RegExp(exprString, flags)
参数是字符串,因此可以传递变量或字符串文本
var r = ':-\\)'; // note: need to escape the )
html = html.replace(new RegExp(r, "g"),"<img src=\""+icon_folder+
"/face-"+emoticon+".png\" class=\"emoticonimg\" />");
只需将
r
传递给.replace()
您还可以使用一个正则表达式,它可以说更简洁,例如:var r=/:-\)/g
您还可以使用一个regex文本,可以说它更干净,例如:var r=/:-\)/g代码>