2017-02-25 19 views
2

RegExr.comとJS Consoleで正常に動作する正規表現に問題があります。しかし、Google Apps Scriptでは失敗します。Google Apps Scriptの正規表現

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()から得られたサンプルテキストを有しています。

答えて

3

あなたの正規表現は見栄えが良いです。すべてのマッチをキャプチャするには、正規表現に "g"フラグを追加することを忘れないでください。 get_html()メソッド自体に問題があるかもしれません。

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

ありがとうAmit!あなたは正しい、問題は 'get_html()'であった。 私は印象の下にあった、正規表現は機能しませんでした。しかし、htmlファイルからの出力を読むのは良いヒントでした! –

0

globalフラグを設定する必要があります。したがって、次のコードが動作するはずです:

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