【问题标题】:javascript create case insensitive regex from stringjavascript从字符串创建不区分大小写的正则表达式
【发布时间】:2013-12-12 01:38:44
【问题描述】:

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

{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。有人有什么建议吗?

【问题讨论】:

    标签: javascript regex matcher


    【解决方案1】:
    var re = new RegExp("pattern", "flags");
    

    原来如此

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

    See MDN for more info

    【讨论】:

    • 哇,正是我所需要的,感谢您的快速回复。我会在它可用时接受。
    • 我想知道我们如何使用正则表达式文字符号而不是构造函数符号来做同样的事情,例如匹配或 2 个不区分大小写的标签 (label1|label2) ?
    猜你喜欢
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 2019-07-09
    • 2011-04-22
    • 1970-01-01
    相关资源
    最近更新 更多