1

正規表現が生成するキャプチャ グループの数を知りたいです。次の方法よりも良い方法はありますか?

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

1 に答える 1

2

Array.sliceここでの方法は必要ないと思います。これで十分です:

function getRegExpCaptureGroupsNum(r) {
    return RegExp(r.source + '|').exec('').length - 1;
}
于 2012-05-06T07:57:08.680 に答える