具有可变内容的javascript正则表达式

时间:2011-03-05 06:41:02

标签: javascript regex variables

我有一个工作的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字符串传递给正则表达式?

3 个答案:

答案 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)

使用您的变量创建一个新的正则表达式对象。

读这个......

http://www.w3schools.com/js/js_obj_regexp.asp