【问题标题】:Regular Expressions in Google Apps ScriptGoogle Apps 脚本中的正则表达式
【发布时间】:2017-07-16 07:29:46
【问题描述】:

我在使用正则表达式时遇到问题,这在 RegExr.com 和 JS 控制台上运行良好。但在 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()获取的示例文本。

【问题讨论】:

    标签: javascript regex google-apps-script


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您的正则表达式看起来不错。请记住将“g”标志添加到正则表达式以捕获所有匹配项。这可能是 get_html() 方法本身的问题。

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

      【讨论】:

      • 谢谢阿米特!你是对的,问题在于get_html()。我的印象是,正则表达式不起作用。但是从 html 文件读取输出是一个不错的提示!
      猜你喜欢
      • 1970-01-01
      • 2015-04-11
      • 2013-06-02
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多