首页 > 解决方案 > 此代码示例中此参数中所指的“匹配”是什么

问题描述

我正在尝试学习如何使用 Google Sheets 解析 JSON 数据,我以这个网站为例。然而,虽然我已经设法弄清楚了大部分代码,但有一部分代码我不明白它在做什么。'match' 在函数中用作参数,但我没有看到它在其他任何地方引用。在附加的代码中,“匹配”指的是什么?

/**
 * Parse JSON and render the results in a string template.
 *
 * @param {"url"} url
 *        JSON API data URL
 * @param {"templateText"} template
 *        string template for rendering results
 * @customfunction
 */
function JSONTEMPLATE(url, template) {
    url = encodeURI(url);
    var response = UrlFetchApp.fetch(url);
    var obj = JSON.parse(response.getContentText());
    var result = template.replace(/\{\{\s*(.*?)\s*\}\}/g, function(match, varName) {
        return obj[varName];
    });
    return result;
}

标签: javascriptgoogle-apps-scriptarguments

解决方案


你可以在这里阅读更多关于它的信息。简而言之,当将函数作为第二个参数传递给replace();

您可以指定一个函数作为第二个参数。在这种情况下,将在执行匹配后调用该函数。函数的结果(返回值)将用作替换字符串。(注意:上述特殊替换模式不适用于这种情况。)请注意,如果第一个参数中的正则表达式是全局的,则每个要替换的完全匹配都会多次调用该函数。

match:匹配的子字符串。(对应于 $& 以上。)

在您的情况下,这将是任何特殊字符。


推荐阅读