Извлечь URL из HTML в Google App Script - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь создать функцию, которая извлекает указанный c URL из тела HTML письма.

URL-адрес, который я пытаюсь получить с помощью регулярного выражения, имеет следующую форму:

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

Таким образом, этот шаблон исправлен https://dashboard.stripe.com/emails/receipts/invrc_ + alphanumeri c строка из 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)
  }

У кого-нибудь появилась идея исправить это регулярное выражение?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Это также работает ...

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 /);

1 голос
/ 28 апреля 2020

Вам не нужен конструктор для создания этого регулярного выражения, идея конструктора заключается в том, что вы хотите преобразовать строку в регулярное выражение, например:

let regx = "\ d {4} "

regx = new RegExp (regx)

Но при этом вы передаете объект регулярного выражения, а не строку регулярного выражения.

try таким образом:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...