微信小程序在使用正则表达式的时候有几个坑 , 会报这个错误 , 需要注意一下几点:
1.格式不对
// 错误格式
let regExp = /(?<!\d*\.\d*)(\d)(?=(\d{3})+(?!\d))/g;
// 修改为下面的格式即可
let regExp = new RegExp("(?<!\\d*\\.\\d*)(\\d)(?=(\\d{3})+(?!\\d))", 'g');
注意两点:
1.用//包裹改为用""包裹
2.\d等元字符改为\\d
2.目前ios不支持零宽断言
let regExp = "(?<=\\s)\\d(?=\\s)";
如果正则表达式中包含零宽断言的话 , 在安卓手机上正常 , 但是在ios上会报如下错误 , 目前小程序在ios上不支持零宽断言 , 需要换种方式来匹配 .