javascript - 此代码示例中此参数中所指的“匹配”是什么
问题描述
我正在尝试学习如何使用 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;
}
解决方案
你可以在这里阅读更多关于它的信息。简而言之,当将函数作为第二个参数传递给replace()
;
您可以指定一个函数作为第二个参数。在这种情况下,将在执行匹配后调用该函数。函数的结果(返回值)将用作替换字符串。(注意:上述特殊替换模式不适用于这种情况。)请注意,如果第一个参数中的正则表达式是全局的,则每个要替换的完全匹配都会多次调用该函数。
match:匹配的子字符串。(对应于 $& 以上。)
在您的情况下,这将是任何特殊字符。
推荐阅读
- algorithm - 寻找一种“反向哈希”算法,该算法可以从一个小种子中产生一组很长的字符
- python-3.x - 如何使用python生成带有表情符号的随机图像
- php - 难以理解 CI4 布局或一般布局
- javascript - 有没有办法让 javascript 图表显示在 plotly dash 中?
- ice - 有什么方法可以为 ZerocIce 的 IceGrid 服务器指定节点端口/端口范围?
- python - 使用 Python 字典计算单词的频率,不包括将从第二个文件中读取的一组“停用词”
- tekton - 除非以 root 身份运行,否则 Tekton 管道无法在工作区目录中创建文件
- node.js - HTTPS Post via Axios 抛出错误客户端网络套接字已断开/EPROTO
- python-3.8 - 在python中查找字符串中的单词
- google-cloud-platform - 当最大实例限制设置为高于 0 时,Google Cloud 函数的事件队列限制