【发布时间】:2021-07-26 15:22:19
【问题描述】:
我正在尝试这个示例代码
let route = {
paths: []
}
let convertedStr0 = "/{test}/search/v1/{userId}"
let convertedStr1 = convertedStr0.replace(new RegExp("{", 'g'), "(?<").replace(new RegExp("}", 'g'), ">\\S+)$");
console.log(convertedStr1); //Output: /(?<test>\S+)$/search/v1/(?<userId>\S+)$
route.paths[0] = convertedStr1;
console.log(route); //Output: { paths: [ '/(?<test>\\S+)$/search/v1/(?<userId>\\S+)$' ] }
我需要将路由结果写入带有单个反斜杠 (\) 的文件中。但是附加了一个额外的反斜杠。任何人有任何建议我可以如何解决这个问题?
【问题讨论】:
-
您好,欢迎来到 StackOverflow。您能否提供一个可重现的示例?
-
我已经提供了代码示例。 convertStr1 输出就像 /(?
\S+)$/search/v1/(? \S+)$ 一样好,但我只是将字符串分配给路由对象,结果变成 /(? \\S+ )$/search/v1/(? \\S+)$ \\S 现在追加 -
抱歉,不知什么原因,我以为遗漏了什么。
标签: node.js regex escaping regexp-replace