Поиск специальных символов, таких как «!» В теме Gmail

30

Кто-нибудь знает, можно ли в Gmail искать все сообщения с восклицательным знаком в теме?

Я хотел бы создать фильтр, который добавляет красную !метку к сообщениям с восклицательным знаком в теме. Но поиск subject:!результатов во всех сообщениях. Я пытался что - то вроде /!/, /\!/, (/\!/), "!", но все эти поиски просто дать мне все сообщения, а не только тех , кто !в теме.

jankeir
источник

Ответы:

18

Из документации " О поиске Gmail ":

Gmail не распознает специальные поисковые символы, такие как квадратные скобки, круглые скобки, символы валюты, амперсанд, знак фунта и звездочки.

Как вы, кажется, уже обнаружили, и мои быстрые тесты, кажется, подтверждают, это, кажется, включает восклицательный знак.

Я бы предположил, что регулярное выражение, которое Google использует для сопоставления поисковых запросов с возможными результатами, просто исключает все специальные символы и работает только с «символами слова» (это можно до некоторой степени подтвердить тем фактом, что поиск символа подчеркивания _, работает - подчеркивание рассматривается как символ слова в регулярном выражении).

Джеймс Аллардис
источник
1
Спасибо, не то, что я хотел услышать, но, по крайней мере, я знаю, что мне придется придумать что-то еще для своих нужд.
Янкир
А как насчет тире "-"?
Pacerier
Черта в поиске - NOTоператор. Вы не сможете найти в тире.
Эль
1
@ Google для поисковой компании, это действительно ОГРОМНАЯ дыра в вашей системе, которая не может искать специальные символы. Любая другая поисковая технология на планете может сделать это, но не Google ?? тиск, тиск, тиск ...
MikeyE
11

С помощью Google Apps Script вы можете использовать регулярные выражения в Gmail для поиска сообщений с восклицательным знаком в теме.

Тот же сценарий может быть расширен для применения фильтров Gmail к сообщениям, которые соответствуют выражению.

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

var pattern = "^!";
var threads = GmailApp.search("in:inbox");

for (var i = 0; i < threads.length; i++) { 
  var messages = threads[i].getMessages();

  for (var m = 0; m < messages.length; m++) {
      var subject = messages[m].getSubject();
      if (subject.search(pattern) !== -1) 
         Logger.log("https://mail.google.com/mail/u/0/#all/" + messages[m].getId());
  }
}
Амит Агарвал
источник
Спасибо, Амит, хорошее предложение, хотя я боюсь, что его использование заставит меня работать с квотами на скрипты приложений даже больше, чем я уже делаю.
Янкир
Правда. Не могу придумать другого обходного пути, хотя в это время.
Амит Агарвал
похоже, это также проблема для почтовых клиентов IMAP, обращающихся к GMail - stackoverflow.com/q/9589583/94687 . Таким образом, простое использование внешнего IMAP-клиента для такого рода поисков не является решением (если только клиент не выполняет фильтрацию самостоятельно, не полагаясь на ответы сервера SEARCH).
imz - Иван Захарьящев