检索任意Javascript正则表达式中的捕获组数量?

时间:2012-05-06 05:41:14

标签: javascript regex

我想知道正则表达式产生的捕获组的数量。有没有比以下更好的方法?

function getRegExpCaptureGroupsNum(r) {
    return Array.prototype.slice.call(new RegExp(r.source + '|').exec(''), 0).length - 1
}

1 个答案:

答案 0 :(得分:2)

我认为您不需要Array.slice方法。这就足够了:

function getRegExpCaptureGroupsNum(r) {
    return RegExp(r.source + '|').exec('').length - 1;
}