Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的正则表达式_Javascript_Google Sheets_Google Spreadsheet Api - Fatal编程技术网

javascript中的正则表达式

javascript中的正则表达式,javascript,google-sheets,google-spreadsheet-api,Javascript,Google Sheets,Google Spreadsheet Api,我有一个简单的谷歌电子表格链接 https://docs.google.com/spreadsheets/d/kdfaghlkdghidubtinvieorn/edit#gid=12345 我有以下regextract用于提取链接的ID: =REGEXEXTRACT(C2,“(?:/d/)(.*)(?:\/edit)”) 这似乎达到了预期的效果 我试图在谷歌脚本中重新创建它,但我没有得到相同的答案 function regex() { var link = "https://docs.g

我有一个简单的谷歌电子表格链接

https://docs.google.com/spreadsheets/d/kdfaghlkdghidubtinvieorn/edit#gid=12345

我有以下regextract用于提取链接的ID:

=REGEXEXTRACT(C2,“(?:/d/)(.*)(?:\/edit)”)

这似乎达到了预期的效果

我试图在谷歌脚本中重新创建它,但我没有得到相同的答案

function regex() {
    var link = "https://docs.google.com/spreadsheets/d/kdfaghlkdghidubtinvieorn/edit#gid=12345";
    var regExp = new RegExp("(?:\/d\/)(.*)(?:\/edit)", "gi")
    var id = regExp.exec(link)[1];
    Logger.log(id)
}
请尝试
(?:\gid=.*)


因此,您将获得id,即gid=12345,您的正则表达式似乎与/d/后面的字母匹配。 如果在斜杠之间查找单词字符,而不是贪婪的
*
,可能会得到更好的结果

\/d\/(\w+)\/
示例代码段:

函数getIdFromLink(链接){ 设regExp=/\/d\/(\w+)\/; 返回regExp.exec(link)[1]; } 变量链接=”https://docs.google.com/spreadsheets/d/kdfaghlkdghidubtinvieorn/edit#gid=12345"; var id=getIdFromLink(链接); //Logger.log(id)
控制台日志(“id:+id”)这与语法有关,我不知道为什么,但用另一个括号括起来似乎可以解决这个问题:

(?:(\/d\/))(.*)(?:\/edit)

那么,你得到了什么答案呢?@NikxDa我得到了以下答案:
/docs.google.com/spreadsheets/d/kdfaghlkdgidubtinvieorn