我在Regexp获取表达式时遇到错误

时间:2019-04-11 07:50:33

标签: google-apps-script

我正在尝试从使用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

谢谢。

1 个答案:

答案 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/