实现正则捕获的方法
正则RegExp.prototype上的方法
exec
test
字符串String.prototype上支持正则表达式处理的方法
replace
match
splite
...
let str = "zhufeng2019yangfan2020qihang2021";
// let reg = /^\d+$/;
let reg = /\d+/;
/
* 基于exec实现正则的捕获
* 1.捕获的结果是null或者一个数组
* 数组的第一项 本次捕获到的内容
* 其余项: 对应小分组本次单独捕获的内容
* index: 当前捕获内容在字符串中的起始索引
* input: 原始字符串
* 2.每执行一个exec只能捕获到一个符合正则规则的, 但是默认情况下, 我们执行100遍, 获取的结果永远都是第一个匹配到的, 其余的捕获不到
=> "正则捕获的懒惰型": 默认只捕获第一个
[
0: "2019"
groups: undefined
index: 7
input: "zhufeng2019yangfan2020qihang2021"
]
*/
//=>实现正则捕获的前提是: 当前正则要和字符串匹配, 如果不匹配捕获的结果是null
console.log(reg.test(str)); //=> false
console.log(reg.exec(str)); //=> null