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

标签 javascript regex variables

我有一个工作的正则表达式,它根据该表达式执行替换函数。它工作完美。它根据字符串的开头和表达式查找特定的字符串。就是这样:

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/

相关文章:

Java变量和构造函数初始化?

java - 使用递归来更改变量

javascript - 多维数组包含 4 个项目,但长度指示 : 0

python - 句子中拉长的单词检查

c# - 查找特定正则表达式匹配的字符串的算法

regex - .htaccess 强制 https 但排除子域

java - while(i != i) { } - 是否可能有一个永远为真的赋值

javascript - html select onchange 获取自定义属性值设置为其他输入值

javascript - String.padStart() 不适用于 Angular 函数

javascript - 基于 javascript 函数隐藏/显示 Accordion