JavaScript RegExp 包括模式中的标志

标签 javascript regex

var str = 'TEST, STRING';
var regex = new RegExp('^(.*)('+str+')(.*)$/i');
console.log(regex);

输出

/^(.*)(TEST, STRING)(.*)$\/i/

但我需要以下输出:

/^(.*)(TEST, STRING)(.*)$\/i

最佳答案

标志应该是 RegExp 的第二个参数构造函数。

new RegExp('^(.*)(' + str + ')(.*)$', 'i');
                                    ^ ^^^

RegExp 的语法构造函数是

new RegExp(pattern[, flags])

关于JavaScript RegExp 包括模式中的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35691958/

相关文章:

javascript - mongoose - 使用 $pull 删除数组中的元素

javascript - JS - 从字符串中删除每个关闭的 html 标签

java - 在正则表达式中设置最小和最大字符

javascript - 私有(private)对象属性

javascript - 在 Javascript 中创建变量的实例并在匿名函数中访问变量

javascript - 使用JavaScript的YouTube网址的正则表达式

python - 如何在 Python 中调试正则表达式?

javascript - 允许非 ASCII 字符的(类似 twitter 的)主题标签的正则表达式

javascript - jQuery,获取each() img 尺寸适用于each() DIV?

javascript - 无法使用附加到 "this"的任何 JQuery 方法