我需要一个正则表达式来检查任意正则表达式(作为一个字符串),返回捕获组的数量.到目前为止我有......
arbitrary_regex.toString().match(/\((|[^?].*?)\)/g).length
Run Code Online (Sandbox Code Playgroud)
这适用于某些情况,其中假设任何以问号开头的组都是非捕获的.它也算空组.
它不适用于字符类或转义括号中包含的括号,也可能适用于其他一些场景.
And*_*ark 26
修改你的正则表达式,使它匹配一个空字符串,然后匹配一个空字符串,看看它返回多少组:
var num_groups = (new RegExp(regex.toString() + '|')).exec('').length - 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3920 次 |
| 最近记录: |