在开发中有这样一个需求:
从 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.若是正则的问题,如何修改?
相关分类