• 正则表达式断言(Assertions)


    一 零宽正向先行断言

    x(?=y)  仅匹配被y跟随的x。

    const regExp = /Jack(?=Sparrow|Dawson)/g;
    const str = 'JackJones JackSparrow JackDawson';
    let result;
    while((result = regExp.exec(str))!=null){
        console.log(result);
    }

    二 零宽度负向先行断言

    x(?!y)  仅匹配不被y跟随的x。

    const regExp = /Jack(?!Sparrow)/g;
    const str = 'JackJones JackSparrow JackDawson';
    let result;
    while((result = regExp.exec(str))!=null){
        console.log(result);
    }

    三 零宽度正向回顾断言

    (?<=y)x  x只有在y后面才匹配

    const regExp = /(?<=BMW)sX5/g;
    const str = 'vivo X5 BMW X5 LandWind X5';
    let result;
    while((result = regExp.exec(str))!=null){
        console.log(result);
    }

    四 零宽度负向回顾断言

    (?<!y)x  x只有不在y后面才匹配

    const regExp = /(?<!BMW)sX5/g;
    const str = 'vivo X5 BMW X5 LandWind X5';
    let result;
    while((result = regExp.exec(str))!=null){
        console.log(result);
    }

  • 相关阅读:
    第07组 Beta冲刺(3/5)
    第07组 Beta冲刺(2/5)
    第07组 Beta冲刺(1/5)
    第07组 Alpha事后诸葛亮
    第07组 Alpha冲刺(6/6)
    第07组 Alpha冲刺(5/6)
    【置顶】CSP/NOIP 2020 (高二游记)
    【置顶】CSP/S 2019退役祭
    【置顶】一些关于停课的感想(随时更新,连着前一篇博客)11/11~11/15
    【置顶】我的2018~2019信息学之路
  • 原文地址:https://www.cnblogs.com/sea-breeze/p/11862646.html
Copyright © 2020-2023  润新知