JavaScript正则表达式查找多个单词并将其替换为多个单词
我正在使用Angular7,我想更改环境文件中定义的url,而无需连接 我的组件中有一个字符串,如下所示JavaScript正则表达式查找多个单词并将其替换为多个单词,javascript,regex,angular,typescript,Javascript,Regex,Angular,Typescript,我正在使用Angular7,我想更改环境文件中定义的url,而无需连接 我的组件中有一个字符串,如下所示 "upload/document/:orgId/products/:productId" 我想用2个ID替换它,只使用正则表达式,这样我就可以得到这样的输出。我不想使用多个替换调用 "/upload/document/101/products/99101" 提前谢谢 var template=“upload/document/:orgId/pr
"upload/document/:orgId/products/:productId"
我想用2个ID替换它,只使用正则表达式,这样我就可以得到这样的输出。我不想使用多个替换调用
"/upload/document/101/products/99101"
提前谢谢
var template=“upload/document/:orgId/products/:productId”;
var result=template.replace(/:orgId\b/,'101')。replace(/:productId\b/,'99101');
控制台日志(结果)代码>经过一些努力和尝试,这是可以实现的。虽然它不是我想要的,但在一次调用中,它正在执行所有必需的操作
var baseUrl= "upload/document/:orgId/products/:productId";
var mapper = {
':orgId': 101,
':productId': 99101
};
let newUrl = baseUrl.replace(/:orgId|:productId/gi, (matched) => {
return mapper[matched];
});
const replaced=“upload/document/:orgId/products/:productId”。替换(“:orgId”,101)。替换(“:productId”,99101)代码>感谢您的快速响应,但我想在regex somiting中使用str.replace(re,“$2,$1”感谢您的快速响应,但我想在regex中使用str.replace(re,“$2,$1”)这就是正则表达式。/:orgId\b/
和/:productId\b/
都是正则表达式的示例。如果您谈论的是$1
,$2
等,这些都是捕获组中必须显示在结果字符串中的内容的替换。但是,您的问题不需要捕获组。您可以使用它们,但这样您就可以使用它们了为了使用特定的工具,你必须使用捕获组吗?(比如,这是家庭作业还是什么?)