js中,看看这个正则怎么匹配?
http://localhost:9000/detail.html?p=111&cat=222
我想通过一个正则,匹配到这个网址中的111,注意,只能是111
(注:p这个字段只能含有数字)
我写的正则是这样的
p=\d+(?=[&])
这样匹配到的结果是
p=111
我想把p=
给去掉,也就是我不希望匹配到这个东西,怎么办?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
楼上的正则表达式只对你这一个例子适用,更具体的讲,它只在路由参数只有两个并且 p 是第一个的情况下适用。
js 里的正则是不支持判断“前面是
p=
”这种条件的,所以要让结果完全只有111
没有p=
出现是不可能的。但是有一种替代方案,只需要将你原来的正则稍微修改一点就可以实现:
这个数组的第二项就是你想要的东西。
这个正则表达式中,
(\d+)
的括号会将括住的部分放进返回结果里。另外注意我将你的
(?=[&])
补充成了(?=[&$])
,这是要考虑 p 是最后一个参数的情况希望对你有帮助