在js中使用变量里面的preg_match

时间:2012-01-25 19:38:17

标签: javascript preg-match

我有以下原始匹配的原始代码

for(var i = 0;i<5;i++)
{ 
patt1 = /Colour1\/(\d+)"/; 
var ab=(data.match(patt1)[1]); 
alert(ab);
}

我想知道我是否可以使用变量i而不是1(对于5个循环),如下例所示。我可以在外部使用值 i ,但不能在pregmatch中使用。

 for(var i = 0;i<5;i++)
{<br>
patt1 = /Colour"+i+"\/(\d+)"/; 
var ab=(data.match(patt1)[1]); 
alert(ab);
} 

3 个答案:

答案 0 :(得分:1)

您必须使用RegExp constructor

for (var i = 0; i < 5; i++)
{
    var patt1 = new RegExp('Colour' + i + '/(\\d+)"'),
        ab = (data.match(patt1) || [])[1]; 
    alert(ab);
}

记得加倍逃避你的斜线!


在此处查看:[{3}}

答案 1 :(得分:1)

喜欢这个吗?

var ab = data.match('Colour'+i+'/(\\d+)"')[1];

答案 2 :(得分:1)

不确定

patt1 = new RegExp("Colour"+i+"/(\\d+)\""); 

但你也可以跳过循环

patt1 = new RegExp("Colour[0-4]/(\\d+)\"");