控制台报错SyntaxError: Invalid regular expression: invalid group specifier name

使用vue脚手架打包完项目之后Chrome浏览器预览正常,但是Safari控制台报以下错误:

SyntaxError: Invalid regular expression: invalid group specifier name

于是在网上搜索并尝试了一下,发现是正则表达式的问题。

出现原因

打包后的js不支持原生的双斜线格式的正则 //

解决方案

// 打包情况下会报错
let regExp = /(?<=:(?!\/).*?\/).*!/g;

// 修改为下面的格式即可
let regExp = new RegExp("(?<=:(?!\/).*?\/).*!", 'g');

3 Responses

  1. Dallas说道:

    这和打包没有关系吧,Safari 不支持 (?<=exp) 这种断言

  2. 爸爸说道:

    Taro编译的小程序也有这种问题!

发表评论

最新发布