在React中如何用正则提取URL中id参数的纯值?
提取URL中id参数值的解决方案
你当前的正则已经正确匹配到了目标范围,但因为取了整个匹配结果([0]),所以会包含id=前缀。只需要调整结果的获取方式,或者用更简便的API来解决:
方法一:调整正则捕获组的使用
你的正则已经通过([^&]*)定义了捕获组来存放参数值,只需要取exec()返回数组的索引1元素即可,这个位置对应第一个捕获组的内容:
const url = "https://play.google.com/store/apps/details?id=in.swiggy.android&hl=en_IN&gl=US"; const regex = /id=([^&]*)/; const value = regex.exec(url)[1]; console.log(value); // 输出:in.swiggy.android
方法二:使用URLSearchParams API(更推荐)
不用写正则,直接用浏览器/Node.js内置的URL处理API,专门用来解析查询参数,更稳定可靠:
const url = "https://play.google.com/store/apps/details?id=in.swiggy.android&hl=en_IN&gl=US"; const searchParams = new URLSearchParams(new URL(url).search); const value = searchParams.get('id'); console.log(value); // 输出:in.swiggy.android
内容的提问来源于stack exchange,提问作者Tomaz_
相关产品推荐
相关产品推荐

