js检索(捕获)exec的使用2

 对一个html中进行捕获,捕获多个内容:

   const str=` <ul>
            <li>
                <a>aaaa</a>
                <p>1111</p>
            </li>
            <li>
                <a>aaaa</a>
                <p>1111</p>
            </li>
        </ul>`

        const reg=/<li>.*?<a>(.*?)<\/a>.*?<p>(.*?)<\/p>/gs
        // g是全局
         // .是匹配除了换行符以外的任意单个字符
         // .*是0-n个任意字符,.*?是懒惰模式的匹配
        
        let resutl
        let data=[]
        while( resutl=reg.exec(str)){  // 循环捕获,会一直往下进行,直到返回null
            data.push({title:resutl[1],time:resutl[2]})

       }

  //  如果 exec() 找到了匹配的文本,则返回一个结果数组。否则,返回 null。此数组的第 0 个元素   是与正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本,第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本。
       
        
        data:[ { title: 'aaaa', time: '1111' }, { title: 'aaaa', time: '1111' } ]

在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值