Google App Script - Regex - SyntaxError: Недопустимая ошибка квантификатора - PullRequest
0 голосов
/ 26 декабря 2018

Попытка отфильтровать сообщения Gmail с определенными фразами в теле письма.Мой вклад для поисковых терминов, как показано ниже.Не уверен, что использование \ W является правильным.

(? I) (\ W | ^) (состояние экземпляра программы: Ошибка | Состояние экземпляра программы: Пропущено | Состояние экземпляра программы:Долго \ srunning | Состояние экземпляра программы: Остановлено | Состояние экземпляра программы: Отменено | Состояние программы = Ошибка | Состояние программы = Пропущено | Состояние программы = Длинно \ srunning | Состояние программы = Остановлено | Состояние программы = Отменено | Статус: Ошибка | Статус: Пропущено| Статус: Длинный \ srunning | Статус: Остановлен | Статус: Отменен | Статус программы: Запланирован | Статус программы: Приостановлен | Статус программы: Ожидание \ sTriggered | Статус программы: Готов | Статус программы: Активен | Статус программы: Неактивен) (\ W| $) (\ W | ^) (Состояние экземпляра программы: Ошибка | Состояние экземпляра программы: Пропущено | Состояние экземпляра программы: Long \ srunning | Состояние экземпляра программы: Остановлено | Состояние экземпляра программы: Отменено | Состояние программы = Ошибка | Состояние программы =Пропущено | Состояние программы = Долгое время \ srunning | Состояние программы = Остановлено | Состояние программы = Отменено | Статус: Ошибка | Статус: Sубитый |Статус: Долгое время \ srunning |Статус: остановлен |Статус: Отменен | Статус программы: Запланировано |статус программы: приостановлено |статус программы: Ожидание \ sTriggered |статус программы: готово |статус программы: Активный |состояние программы: неактивно) (\ W | $)

Когда я запускаю скрипт.Я получаю SyntaxError: Недопустимая ошибка квантификатора

Код, который я использую:

 var mFrom = sheet.getRange("J2").getValue();
 var notinSubject = sheet.getRange("K2").getValue();
 var input= sheet.getRange("I2").getValue();
 var keyWord = sheet.getRange("L2").getValue();
 var casebyWho = sheet.getRange("M2").getValue();

 var pafcSearchQuery = "from:"+mFrom+" before:"+nextDate+"after:"+theDate+ 
 "-subject: "+notinSubject+ " -is:sent ";
  Logger.log(pafcSearchQuery);
  var threads = GmailApp.search(pafcSearchQuery, 0, 500);

 Logger.log(input);
 for(var i=0; i<threads.length; i++)
  {
    var messages = threads[i].getMessages();
   // Utilities.sleep(1000);

    for (var m = 0; m < messages.length; m++) {
      var msg = messages[m].getBody();
      if (msg.search(input) !== -1) {

      yCount = yCount + threads[i].getMessageCount();
     }
  }
}
sheet.appendRow([labelName,yCount]);

Я плохо разбираюсь в Regexиспользование.Любые толчки или предложения в правильном направлении будут полезны.

Я использовал регулярное выражение на примере из примеров примеров регулярных выражений со страницы справки администратора G Suite https://support.google.com/a/answer/1371417?hl=en

Screenshot

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