天天看点

SyntaxError: Invalid regular expression: invalid group specifier name正则问题

正则问题

Safari

SyntaxError: Invalid regular expression: invalid group specifier name

Firefox

SyntaxError: invalid regexp group

移动端:安卓正常,iOS不行

原因

火狐、IE、IOS不支持以下写法

常用零宽断言:?<=、?<!、?!、?=

前瞻就是一种条件判断,好比if语句

(?=exp)正向前瞻 匹配后面满足表达式exp的位置

(?!exp) 负向前瞻 匹配后面不满足表达式exp的位置

解决

let reg = /ab?<=cd/
改写成
let reg = new RegExp('ab(?<=cd)')