regex 通过deno中的正则表达式将部件数组Map到字符串(typescript)

neekobn8  于 2023-04-22  发布在  TypeScript
关注(0)|答案(1)|浏览(100)

我使用正则表达式"(.*?)"来获取字符串中引号之间的所有内容。在对exec()提供的数组运行操作后,我现在有一个由这些切片组成的数组要放回字符串。我如何使用正则表达式将这个数组Map回字符串?
我知道用一个特定的值来替换它们,但是我不确定如何用数组来做。也许有某种map(),它可以从数组中获取pop()值的函数?
我对Deno和JS总体来说是相当陌生的(来自更低层次的背景),所以如果我错过了一个文档或其他东西,我很抱歉。

qyyhg6bp

qyyhg6bp1#

.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);

相关问题