【发布时间】:2021-02-02 17:58:11
【问题描述】:
我一直在研究用于 url 查询的解析器,但我很困惑为什么正则表达式在测试期间通过 regex101.com 工作时不正确或者至少我认为确实如此,这是一个深夜编码;
无论如何,我在 StackOverflow 或 Good Ol'e google 中都没有找到任何答案。
问题:UnhandledPromiseRejectionWarning: SyntaxError: Invalid regular expression: /\?(?<query>.*)/: Invalid group
const results = url.match(/\?(?<query>.*)/);
if (!results) {
return {};
}
const { groups: { query } } = results;
const pairs = query.match(/(?<param>\w+)=(?<value>\w+)/g);
const params = pairs.reduce((acc, curr) => {
const [key, value] = curr.split(("="));
acc[key] = value;
return acc;
}, {});
return params;
【问题讨论】:
-
Node JS 不是 ecmascript 吗?我以为 JS 是由浏览器控制的。
-
@Maxt8r JS 可以在许多平台上运行。诚然,它在客户端的浏览器上最为常见,但它也可以在后端的服务器(使用 Node.js)或桌面应用程序(使用 Electron)等上运行。
标签: javascript node.js regex