簡體   English   中英

從 Google App Script 中的 HTML 中提取 URL

[英]Extract URL from HTML in Google App Script

我正在嘗試創建一個 function 從 email Z4C4ZDBAD5FCA2E78A1A3DZ 中檢索特定的 URL。

我試圖用正則表達式檢索的 URL 具有這種形式

https://dashboard.stripe.com/emails/receipts/invrc_1GYYpBFlgHQ8OfGyspnJivUe/pdf

所以它有這個模式固定https://dashboard.stripe.com/emails/receipts/invrc_ + 24 個字符的字母數字字符串 + 固定 /pdf

我試過這個正則表達式,但它總是打印我“null”


var threads = GmailApp.search('subject:"Your receipt from ‪Weglot‬"',0,1)[0];
var messages = threads.getMessages();
var body = messages[0].getBody();

      var url = new RegExp(/https:\/\/dashboard.stripe.com\/emails\/receipts\/invrc_/+/[a-zA-Z0-9]+/+/\/pdf/)

      var data = body.match(url)
      Logger.log(data)
  }

有人有解決這個正則表達式的想法嗎?

您不需要構造函數來創建此正則表達式,構造函數的想法是當您要將字符串轉換為正則表達式時,例如:

讓 regx = "\d{4}"

regx = 新的正則表達式(regx)

但是你這樣做的方式是傳遞正則表達式 object 而不是正則表達式字符串。

試試這樣:

讓 url = /https://dashboard.stripe.com/emails/receipts/invrc.+?/pdf/

這似乎也有效......

var url = new RegExp(/https://dashboard.stripe.com/emails/receipts/invrc_[az,AZ,0-9]*/pdf/);

或者

var url = new RegExp(/https://dashboard.stripe.com/emails/receipts/invrc_[az,AZ,0-9]{24}/pdf/);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM