javascript从字符串创建不区分大小写的regex

javascript create case insensitive regex from string

本文关键字:大小写 regex 不区 字符串 创建 javascript      更新时间:2023-09-26

我正试图通过不区分大小写的方式将输入匹配到正则表达式来进行验证。正则表达式作为对象上的字符串从服务中派生出来。我可能会得到这样的东西:

{regex:"ane"}

我可以做以下事情:

var rx = new RegExp(object.regex);  /*The regex is now: /ane/*/
"plane".match(rx);

然而,我真正想做的是:

var rxInsensitive = new RegExp(/ane/i);  /*The regex is now: /ane/i */
"plANE".match(rx);

但是,我在将字符串转换为此形式时遇到问题。当我执行以下操作时:

var rxInsensitive = newRegExp(object.regex + "/i");

我最终得到的是正则表达式/ane/i/而不是/ane/i。有人有什么建议吗?

var re = new RegExp("pattern", "flags");

所以它将是

var rx = new RegExp(object.regex,"i");

有关更多信息,请参阅MDN。