正则表达式 /(?<=(#\S*))&?menu=[^&]*/ 在部分电脑上出现报错问题?望大佬解答

问题描述

在开发中有这样一个需求:
从 f/personal_center.html?pc=true#menu=myShopList 这类链接中获取 #menu=xxxx 这一串字符串,要求:
1.必须在 # 后的 menu=xxx 才可以获取
2.获取 menu=xxx 这种模式,末尾由 & 拼接的其他参数不获取

问题出现的环境背景及自己尝试过哪些方法

根据以上需求,我自己写了/(?<=(#\S*))&?menu=[^&]*/这个正则进行获取,在本机和多台机子上都可以使用,但有个别电脑无法识别改正则表达式,报错显示“无效正则表达式”。这部分电脑将(?<=(#\S*))中的?变为\?掉就不会报错了,但这么修改后该正则的功能就变了。所以想询问大佬是什么问题会导致这种情况?

ps:在出问题的电脑上使用各大主流浏览器测试,都报错。

相关代码

测试用例:f/personal_center.html?pc=true#menu=myShopList
正则表达式:/(?<=(#\S*))&?menu=[^&]*/

望大佬解答

1.是什么问题导致这种情况?
2.是正则本身的问题?
3.若是正则的问题,如何修改?


慕妹3146593
浏览 541回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript