问题描述
使用此 Google App 脚本从 coinmarketcap 获取加密货币价格: (此脚本归功于 Josh Bradley 通过此 stackoverflow 主题:To exceed the ImportXML limit on Google Spreadsheet)
function importRegex(url,regexInput) {
var output = '';
var fetchedUrl = UrlFetchApp.fetch(url,{muteHttpExceptions: true});
if (fetchedUrl) {
var html = fetchedUrl.getContentText();
if (html.length && regexInput.length) {
output = html.match(new RegExp(regexInput,'i'))[1];
}
}
// Grace period to not overload
Utilities.sleep(1000);
return output;
}
在我想粘贴价格的单元格中,我使用:
=importRegex("https://coinmarketcap.com/currencies/cosmos","<div class=.priceValue___11gHJ.>(.*)<\/div>")
$14.18</div><span ... (lots of stuff after)
为什么正则表达式不起作用?谢谢!
解决方法
您应该将 .*
替换为 \$([\\d.]{1,})
。