[英]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.