1

我尝试在字符串中检查给定的RegExp-rule 并需要获取当前的匹配规则。

这是我到目前为止所尝试的:

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-)?

4

2 回答 2

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]);
于 2013-07-18T12:11:06.423 回答
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);
于 2013-07-18T12:02:13.080 回答