正则表达式断言(Assertions)
Posted sea-breeze
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式断言(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); }
!-- p.p1>!-- p.p1>!-- p.p1>!-- p.p1>
以上是关于正则表达式断言(Assertions)的主要内容,如果未能解决你的问题,请参考以下文章