2013-07-18 35 views
1

我尝试检查字符串中给定的RegExp规则,并需要获取当前的匹配规则。获取当前匹配的正则表达式规则

这里是我试过到目前为止:

var prefixes = /-webkit-|-khtml-|-moz-|-ms-|-o-/g; 
var match; 
var str = ''; 

while (!(match = prefixes.exec(str))) { 
    str += '-webkit-'; 
    console.log(match); // => null 
} 

matchnull,但我怎么能得到的电流匹配规则(在这种情况下-webkit-)?

回答

0

你不是要求你的正则表达式中的任何组,尝试在括号中围绕你的正则表达式来定义一个组, /(-webkit-|-khtml-|-moz-|-ms-|-o-)/g

各种其它问题,请尝试:

var prefixes = /(-webkit-|-khtml-|-moz-|-ms-|-o-)/g; 
var match; 
var str = 'prefix-ms-something'; 

match = prefixes.exec(str); 
console.log(match); 
+0

MHH,不同样的工作:http://jsbin.com/abisim/1/edit – yckart

1
var prefixes = /(-webkit-|-khtml-|-moz-|-ms-|-o-)/g; 
var str = "-webkit-adsf-moz-adsf" 
var m; 
while(m = prefixes.exec(str)) 
    console.log(m[0]);