问题:开发环境正常运行的正则表达式,打包后就报错了
场景一:
之前是
let reg = new RegExp("(?<=\[).*(?=\])", "g");
原因:打包环境的转译字符需要写成双斜线
解决方案:
let reg = new RegExp("(?<=\\[).*(?=\\])", "g");
场景二:
报错信息:
ERROR Error: Uncaught (in promise): SyntaxError: Invalid regular expression: /(?<=_).*/: Invalid group(…)
当时的正则是
let reg = new RegExp("(?<=_).*");
找了很久没发现原因,然后我用我的电脑访问了开发环境发现没有报错,但是测试人员测试的时候有报错
推断:可能是浏览器版本低了无法识别正则断言
解决方案:升级浏览器
问题解决!