在Javascript中动态分配正则表达式模式

时间:2014-04-20 09:45:57

标签: javascript regex

如何动态分配模式?

我试过了:

var str = "hebbbbllo";
var patt = new RegExp;
patt =("b", "g");
console.log(str.match(patt).length);

但代码会产生错误:

Uncaught TypeError: Cannot read property 'length' of null

我也尝试使用模式"/b/g",但它也不起作用

1 个答案:

答案 0 :(得分:2)

你应该这样做:

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

所以,这样做:

var str = "hebbbbllo";
var patt = new RegExp("b","g");
console.log(str.match(patt).length);

MDN

了解详情

更新

如果你想以自己的方式去做,你可以这样做:

var str = "hebbbbllo";
var patt = RegExp;
var regex = patt("b", "g");    
console.log(str.match(regex).length);
相关问题