正则的捕获

实现正则捕获的方法
正则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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。