Jin*_*iel 16 javascript regex modifier
我有一堆正则表达式,如lower =/[az] /稍后在我的程序中我需要使用它作为/ [az]/g ie.我需要稍后添加'全局'修饰符.那么如何在现有的正则表达式中添加修饰符呢?
epa*_*llo 15
使用RegEx 源和标志将正则表达式与标志分开.然后用字符串创建一个新的并设置所需的标志.
var re = /^[a-z]*$/;
var re2 = new RegExp(re.source, re.flags + "i");
console.log( re.test("abc") )
console.log( re.test("ABC") )
console.log( re2.test("abc") )
console.log( re2.test("ABC") )
Run Code Online (Sandbox Code Playgroud)
你可以为它写一个方法 -
RegExp.prototype.reflag= function(flags){
return RegExp(this.source, flags);
}
Run Code Online (Sandbox Code Playgroud)