天天看點

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)')