RegExp实例方法---②

    let text = 'mom and dad and baby';
    let pattern = /mom( and dad( and baby)?)?/gi; //这里注意每个字符之间要求间隔。

    let matches = pattern.exec(text);
    console.log(matches.index); //0
    console.log(matches.input); //mom and dad and baby
    console.log(matches[0]);//mom and dad and baby
    console.log(matches[1]);// and dad and baby
    console.log(matches[2]);// and baby

在这个例子中,包含两个捕获组:最内部的匹配项“ and baby”,以及外部匹配项“ and dad”或“ and dad and baby”.调用exec()后找到了一个匹配项。因为整个字符串匹配模式,所以matches数组的index属性就是0.数组的第一个元素是匹配的整个字符串,第二个元素是匹配第一个捕获组的字符串。第三个元素是匹配第二个捕获组的字符串。
如果模式设置了全局标记,则每次调用exec()方法会返回一个匹配的信息。如果没有设置全局标记,则无论对同一个字符串调用多少次exec(),也只会返回第一个匹配的信息。

posted @ 2021-10-15 13:38  Caesar_Y  阅读(21)  评论(0编辑  收藏  举报