我使用正则表达式"(.*?)"
来获取字符串中引号之间的所有内容。在对exec()
提供的数组运行操作之后,我现在有了一个这些片的数组,可以放回字符串中。如何使用正则表达式将这个数组映射回字符串?
我知道用一个特定的值替换它们,但我不确定如何用数组来做。也许有某种map()
需要一个函数,我可以使用pop()
值从数组?
我对Deno和JS很陌生(来自更低级的背景),所以很抱歉,如果我只是错过了一个文档或其他东西。
使用.replace
和替换函数是完成您想要的最简单的方法。
const html = `
<a href="https://example.com/foo">foo</a>
<div></div>
<a href="https://example.net/foo">foo</a>
`;
const result = html.replace(/"(.*?)"/g, (match, group) => {
return `"https://example.org/?url=${group}"`;
});
console.log(result);
您也可以使用$n
替换模式的替换字符串
const html = `
<a href="https://example.com/foo">foo</a>
<div></div>
<a href="https://example.net/bar">bar</a>
`;
const result = html.replace(/"(.*?)"/g, `"https://example.org/?url=$1"`);
console.log(result);