gpt4 book ai didi

javascript - 返回 URL 参数数组的正则表达式

转载 作者:行者123 更新时间:2023-11-28 01:32:17 25 4
gpt4 key购买 nike

我看过很多关于匹配/替换路径的帖子,例如:

/login/:id/:name

但是,我试图弄清楚如何返回一个仅包含参数名称的数组; id名称

我已经得到了正则表达式:/:[^\s/]+/g, "([\\w-]+)" 只是在匹配中挣扎。

最佳答案

您需要循环,因为 match 不会捕获全局正则表达式中的捕获组,因此您最终会得到一些不需要的额外字符:

var url = '/login/:id/:name';

var res = [];
url.replace(/:(\w+)/g, function(_, match) {
res.push(match);
});

console.log(res); //=> ["id", "name"]

您还可以使用这个助手:

String.prototype.gmatch = function(regex) {
var result = [];
this.replace(regex, function() {
var matches = [].slice.call(arguments, 1, -2);
result.push.apply(result, matches);
});
return result;
};

var res = url.gmatch(/:(\w+)/g); //=> ["id", "name"]

关于javascript - 返回 URL 参数数组的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21976316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com