Google Apps脚本中的常规表达式

时间:2017-02-25 12:26:12

标签: javascript regex google-apps-script

我遇到正则表达式问题,在RegExr.com和JS Console上运行正常。但Google Apps脚本失败了。

regex.gs

function parse()
{
  var regExp = /mobileheading=\"End\sDate\"\>[^\<]+\<\/div\>/

  var html = get_html();  
  Logger.log(html.match(regExp));

}

RegExr链接 - http://regexr.com/3fcsg

上面的链接包含从get_html()获得的示例文本。

2 个答案:

答案 0 :(得分:4)

你的正则表达式很好看。请记住在正则表达式中添加“g”标志以捕获所有匹配项。这可能是get_html()方法本身的问题。

function parse() {
  var regExp = /mobileheading=\"End\sDate\"\>[^\<]+\<\/div\>/g
  var html = HtmlService.createHtmlOutputFromFile("page.html").getContent();
  Logger.log(html.match(regExp));  
}

答案 1 :(得分:0)

您需要设置global标志。因此,以下代码应该可以工作:

function parse() {
    var regExp = /mobileheading=\"End\sDate\"\>[^\<]+\<\/div\>/g;
    var html = get_html();
    Logger.log(html.match(regExp));
}