我有一个工作的正则表达式,它根据该表达式执行替换函数。它工作完美。它根据字符串的开头和表达式查找特定的字符串。就是这样:
str.replace(/\bevent[0-9]*\=/, "event");
它的作用是将 event=1
更改为 event
。
如果event
是一个可变词怎么办?如果我还需要查找 session
怎么办?
我已经尝试过:
var type = "conference";
str.replace(/\b/ + type+ /[0-9]*\=/, "conference");
和:
str.replace(/\b/type/[0-9]*\=/, "conference");
都没有效果。
如何将 JavaScript 字符串传递到正则表达式中?
最佳答案
不要编写 RegEx 文字,而是使用字符串创建新的 RegExp object :
str.replace(new RegExp('\b' + var + '[0-9]'), …)
关于具有可变内容的javascript正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5202188/