iOS正则兼容,报错safari invalid regular expression

情景复现

今天在项目中发现Android显示正常,而iOS显示一片空白,用safari打开后发现报错:

1
Invalid regular expression: invalid group specifier name

排查原因及解决

谷歌后得到stackoverflow的答案:safari,firefox的正则表达式不支持?<=、?<!、?!、?= 等表达,而我在项目中为了根据特定字符截取字符串中间部分,使用了如下正则:

1
let matchNameReg = /(?<=name=").*?(?=")/

因此只能采取替代方案,用split分割字符串。修改后报错解决。