如果正则表达式包含零宽断言的话打开页面iOS会出现白屏
iOS中 JS不支持 零宽后行断言。
const { href } = window.location;
const matchReg = /(?<=fwWechatToken=).*?(?=#)/;
console.log(href.match(matchReg)[0]);
扩展:
基本概念:
零宽断言正如它的名字一样,是一种零度的匹配,它匹配到的内容不会保存到匹配结果中区,最终匹配结果只是一个位置而已。
零宽断言包含:
(?=exp):零宽度正向先行断言,断言自身出现的位置的前面能匹配表达式exp
(?!exp):零宽负向先行断言,断言此位置的后面不能匹配表达式exp
(?<=exp)零宽正向后行断言,断言自身出现的位置的后面能匹配表达exp
(?<!exp)零宽负向后行断言,断言此位置的前面不能匹配表达式exp