排坑·IPhone&IOS中不兼容正则中的断言匹配

本文探讨了在iPhone和iOS设备上遇到的正则表达式断言匹配兼容性问题,详细分析了问题原因并提供了解决方案。通过修改正则表达式内容,避免使用断言匹配,实现了在不同设备上的正常运行。
摘要由CSDN通过智能技术生成
阅文时长 | 1.14分钟 字数统计 | 1834.4字符
主要内容 | 1、问题切入 2、什么是断言匹配 3、断言匹配的替换方案 4、声明与参考资料
『排坑·IPhone&IOS中不兼容正则中的断言匹配』
编写人 | SCscHero 编写时间 | 2020/12/7 AM12:14
文章类型 | 单篇 完成度 | 已完成
座右铭 每一个伟大的事业,都有一个微不足道的开始。

一、问题切入   完成度:100%

a) 问题发现

PC端谷歌、QQ、Edge浏览器正常运行,移动端安卓设备可以正常运行的正则。 Macbook没有测试 (没有Mac电脑) 。 在IPhone系设备,IOS系统中的Safari浏览器、QQ浏览器都出现报错。报错信息在JS中使用try…catch语句获取到:SyntaxError:Invalid regular expression:invalid group specifier name。

b) 问题分析&排查方向

报错分析:
报错翻译过来是"正则表达式无效:组说明符名称无效。",推测是正则中的分组问题,然后经查其他使用正则的接口都是正常的,但出错接口是因为含有断言匹配。于是乎方向似乎明确了,IPhone设备可能将断言匹配当做了普通分组,于是为了兼容IPhone设备,改用分组写法匹配数据,详见例子。

解决过程/排查方向/摸索过程(可跳过看下面解决方案):
【错误方向1】首先,由于在其他设备、系统中都可以正常运行。于是以为是CSS前缀问题,于是检查了postcss-loader、autoprefixer插件。正常无问题。
【错误方

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值