Как создать фильтр Gmail для поиска текста только при начале строки темы?

Мы получаем регулярные сообщения автоматической сборки с серверов сборки Jenkins на работе.

Было бы неплохо вывезти их в ярлык, пропустив папку "Входящие".

Использование фильтра, конечно, правильный выбор.

Желаемый идентификатор - это строка [RELEASE] в начале строки темы.

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

\[RELEASE\]*
^\[RELEASE\]
^\[RELEASE\]*
^\[RELEASE\].*

Из того, что я читал впоследствии, Gmail не имеет стандартной поддержки регулярных выражений, и из экспериментов, похоже, как и при поиске в Google, специальные символы просто игнорируются.

Поэтому я ищу параметр поиска, который можно использовать, возможно, что-то вроде atstart:mystring в соответствии с их обозначениями has:, in:.

Есть ли способ принудительного совпадения, только если он встречается в начале строки и только в том случае, когда включены квадратные скобки?

Искренняя благодарность.

Ответ 1

Regex не находится в списке функций поиска, и он был включен (более или менее, как функция лучшего поиска сообщений (например, подстановочный знак и частичный поиск слов)) список предварительно запрограммированных запросов функций, поэтому ответ: "вы не можете сделать это через веб-интерфейс Gmail": (

Нет текущих функций Labs, которые предлагают это. Фильтры SIEVE были бы другим способом сделать это, так что не поддерживался, похоже, что больше не будет никакого окончательного заявления о поддержке SIEVE в Gmail помощь.

Обновлено для ссылки rot Предварительно настроенный список запросов функций был, er isned, оригинал находится на archive.org от 2012 года, теперь вы просто получаете перенаправлено на туманную страницу, рассказывающую вам, как давать отзывы. Отсутствие поддержки SIEVE было рассмотрено в ответе 78761 Поддерживает ли Gmail все функции IMAP?, так как некоторое время в 2015 году который отвечает, тихо перенаправляет на ответ об IMAP клиентская конфигурация, архив .org имеет копию от 2014 года.

В случае, когда для группировки используются текущие скобки для поиска любой формы () {} [], они не имеют наблюдаемого эффекта, если только один член внутри. Использование (aaa|bbb) и [aaa|bbb] эквивалентно и будет находить слова aaa или bbb. Большинство других символов пунктуации, включая \, рассматриваются как пробел или разделитель слов, + - : и " имеют особое значение, но см. help.

Вы можете выполнять поиск регулярных выражений на вашем почтовом ящике (в пределах ограничений) программно через документы Google: http://www.labnol.org/internet/advanced-gmail-search/21623/ содержит источник, показывающий, как это можно сделать (скопируйте документ, затем Tools > Script Editor, чтобы получить полный источник).

Вы также можете сделать это через IMAP, как описано здесь: Python IMAP поиск частичной темы и script что-то переместить сообщения в другую папку. Глагол IMAP SEARCH поддерживает только подстроки, а не регулярное выражение (поиск по Gmail дополнительно ограничивается полными словами, а не подстроками), потребуется дополнительная обработка совпадений для применения регулярного выражения.

Для полноты один последний способ обхода: Gmail поддерживает плюс адресацию, если вы можете изменить адрес назначения на [email protected], он все равно будет отправлен на ваш почтовый ящик, где вы можете фильтровать по адресу получателя. Не забудьте фильтровать, используя полный адрес электронной почты to:[email protected]. Это, конечно, более или менее то же самое, что и настройка выделенного адреса Gmail для этой цели: -)

Ответ 2

Это приложение Google Script может делать то, что вы хотите:

https://github.com/paoloantinori/gmail-labeler

который маркирует и фильтрует потоки Gmail, используя базовый RegEx, против тела или заголовков электронной почты.

Ответ 3

Единственный вариант, который я нашел для этого, - найти точную формулировку и поместить ее под опцию "Имеет слова". Это не лучший вариант, но он работает.

Ответ 4

Мне было интересно, как это сделать самому; похоже, Gmail с тех пор тихо выполнила эту функцию. Я создал следующий фильтр:

Matches: subject:([test])
Do this: Skip Inbox

И затем я отправил сообщение с темой

[test] foo

И сообщение было заархивировано! Таким образом, кажется, что все, что необходимо, - это создать фильтр для префикса субъекта, который вы хотите обработать.