我有一个工作的reg表达式,它根据表达式执行替换功能。它完美无缺。它根据字符串和表达式的开头找到一个特定的字符串。就是这样:
str.replace(/\bevent[0-9]*\=/, "event");
这样做会将event=1
更改为event
。
如果event
是变量字怎么办?如果我还需要查找conference
该怎么办?
我试过了:
var type = "conference";
str.replace(/\b/ + type+ /[0-9]*\=/, "conference");
和
str.replace(/\b/type/[0-9]*\=/, "conference");
既没有奏效。
如何将javascript字符串传递给正则表达式?
答案 0 :(得分:2)
使用字符串创建新的RegExp object:
,而不是编写RegEx文字str.replace(new RegExp('\b' + var + '[0-9]'), …)
答案 1 :(得分:1)
您可以使用RegExp
对象:
str.replace(RegExp('\b' + reStr + '[0-9]*\='),StrToReplaceWith)
答案 2 :(得分:0)