徐向博 / Imin.

正则表达式笔记
作者:Imin 时间:2022-01-19 分类: 前端



    const string = '哈哈哈<div>123 ABC 456 DEF 789</div>哈哈哈';

    // 匹配 div 的内容
    string.match(/<div>.*<\/div>/);

    /*
        匹配 div 中间的内容,不包含 div 标签
        规则解释:
        1、?<= 表示匹配开始,?= 表示匹配的结束,注意是匹配的开始和结束,而不是字符串的开始和结束,那个是 ^ 和 $
        2、() 括号代码一段匹配
        3、.* 表示匹配中间的任意字符,可以为空, .+ 表示至少有一个字符
    */
    string.match(/(?<=<div>).*(?=<?<\/div>)/);

    /*
        关于贪婪模式,如:
        匹配 < 和 > 之间的字符
        贪婪模式: <div>123 ABC 456 DEF 789</div> 从第一个 < 开始到最后一个 >,一直到字符串结束,只匹配一个值
        非贪婪模式:<div> 从第一个 < 开始到第一个 >,匹配到就结束当前,重新开始,可匹配多个值
    */
    string.match(/<.*>/); // <div>123 ABC 456 DEF 789</div>
    string.match(/<.*?>/); // ['<div>', '</div>'] 加问号表示非贪婪模式
   


待续...

本文标签: 正则表达式