在此代码示例中,此参数所指的“匹配”是什么

时间:2019-07-12 13:53:18

标签: javascript google-apps-script arguments

我正在尝试学习如何使用Google Sheets解析JSON数据,并以该网站为例。但是,尽管我设法弄清了大部分代码,但是其中一部分代码我不了解它在做什么。 “匹配”在函数中用作参数,但在其他任何地方都看不到它。在所附的代码中,“匹配”指的是什么?

/**
 * 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;
}

1 个答案:

答案 0 :(得分:0)

您可以详细了解here。简而言之,将函数作为第二个参数传递给replace();

  

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

     

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

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