我正在尝试从使用Regexp代码匹配某些正则表达式的html中提取组文本,但是它给了我一个我不知道如何解决的错误。
这是html源http://www.morningstar.es/es/funds/snapshot/snapshot.aspx?id=F00000T4PD&tab=1
这是我使用的代码:
var fetchedUrl = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
var html = fetchedUrl.getContentText();
output=html.match(new RegExp("Año</td><td class="col2 value number">(.*)</td><td class="col3 value number/">", 'i'))[1]);
我尝试以红色圆圈显示数据
https://i.stack.imgur.com/3bgbn.png
谢谢。
答案 0 :(得分:0)
此修改如何?
var url = "http://www.morningstar.es/es/funds/snapshot/snapshot.aspx?id=F00000T4PD&tab=1"; // Added
var fetchedUrl = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
var html = fetchedUrl.getContentText();
output = html.match(/Año<\/td><td class="col2 value number">(.*)<\/td>/i)[1]; // Modified
Logger.log(output) // 0,77
如果要使用new RegExp()
,请使用以下脚本:
output = html.match(new RegExp('Año</td><td class="col2 value number">(.*)</td>', 'i'))[1];
例如,当使用new RegExp()
时,可以使用变量来创建正则表达式,例如以下示例脚本。
var value = 'def';
var r = new RegExp('abc' + value);
Logger.log(r) // /abcdef/