用于从Google Sheets URL中提取电子表格ID和工作表ID的JavaScript regex

2022-05-08 00:00:00 google-sheets google-docs javascript

我想要从Google Sheets URL中提取电子表格ID和工作表ID的Java正则表达式。Sheets.google.com电子表格的URL如下:https://docs.google.com/spreadsheets/d/1QOKbrUz7AWUwT-hNfWd1Pxf__QObYCZ1rD2CKMjpnGw/edit#gid=0。

This Link描述使用什么正则表达式来提取电子表格ID和工作表ID。我在Java脚本中尝试了它们,但不起作用。以下是我尝试的代码:

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
var spreadsheetId = new RegExp("/spreadsheets/d/([a-zA-Z0-9-_]+)").exec(resourceUrl);
var sheetId = new RegExp("[#&]gid=([0-9]+)").exec(resourceUrl);


解决方案

如果成功,exec()方法将匹配的字符放入其索引中。索引0是匹配字符的完整字符串。其他索引(1、2、...)正则表达式中由圆括号分隔的部分匹配的字符,按出现的顺序排列。

您的正则表达式匹配URL字符串的较大部分,但ID是由圆括号分隔的部分。在这两种情况下,您都只有一对圆括号,因此它们在索引1中。
 spreadsheetId = new RegExp("/spreadsheets/d/([a-zA-Z0-9-_]+)").exec(resourceUrl)[1];
 sheetId = new RegExp("[#&]gid=([0-9]+)").exec(resourceUrl)[1];

(注意两个指令末尾的[1])

相关文章