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

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

最佳答案

我认为您不需要在这里使用Array.slice方法。这样就足够了:

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

关于javascript - 是否在任意Javascript正则表达式中检索捕获组的数量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10468419/

10-12 07:39