Як створити фільтр Gmail для пошуку тексту лише на початку теми?


113

Ми отримуємо регулярні автоматизовані повідомлення про збірку від серверів побудови Дженкінса на роботі.

Було б непогано винести їх у ярлик, пропустивши папку "Вхідні".

Звичайно, використання фільтра - це правильний вибір.

Бажаний ідентифікатор - це рядок [RELEASE]на початку рядка теми.

Спроба вказати будь-який із наведених нижче регексів призводить до відповідності електронних листів із рядком releaseу будь-якому випадку в будь-якій точці теми:

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

З того, що я прочитав згодом, у Gmail немає стандартної підтримки регулярного виразів, і, як експериментувати, схоже, як і при пошуку в Google, спеціальні символи просто ігноруються.

Я тому шукаю параметр пошуку , який може бути використаний, може бути що - щось на зразок atstart:mystringвідповідно до їх has:, in:нотаціями.

Чи існує спосіб змусити відповідність, лише якщо він стартує на початку рядка, і лише у випадку, коли квадратні дужки включені?

Щира подяка


Не варто ^\[RELEASE\].*робити хитрість чи я неправильно розумію, що ви хочете зробити?
Hauns TM

Ні, незалежно від можливостей, що формат регулярного виправлення не працює. З того, що я читав, Gmail не має стандартної підтримки регулярного виразу, і, як експериментує, схоже, як і при пошуку в Google, спеціальні символи просто ігноруються. Я шукаю «секретний» прапор або такі , які можуть бути використані » , можливо , що - щось на зразок atstart:mystringвідповідно до їх has:, in:нотацій. Я додам цю інформацію до свого допису для роз’яснення, все-таки дякую.
KomodoDave

Відповіді:


148

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

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

Оновлено для гниття посилань Заздалегідь заздалегідь консервований список запитів щодо функцій був, е. Консервований, оригінал знаходиться на archive.org від 2012 року, тепер ви просто перенаправляєтесь на сторінку, що скидається, що розповідає, як дати відгуки. Відсутність підтримки SIEVE було висвітлено у відповіді 78761 Чи підтримує Gmail усі функції IMAP? , оскільки якийсь час у 2015 році ця відповідь мовчки переспрямовує на відповідь про конфігурацію клієнта IMAP, archive.org має копію від 2014 року.

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

Станом на 2016 рік {term1 term2}для цього задокументовано лише форму " ", яка еквівалентна пошуку " term1 OR term2".

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

Ви також можете це зробити за допомогою IMAP, як описано тут: Python IMAP шукає частковий предмет та щось сценарій для переміщення повідомлень у іншу папку. Дієслово IMAP ПОШУК підтримує лише підрядки, а не регулярні вирази (пошук Gmail обмежений лише повними словами, а не підрядками), знадобиться подальша обробка відповідностей для застосування регексу.

Для повноти останнє вирішення полягає в тому, що Gmail підтримує плюс адресацію , якщо ви можете змінити адресу призначення, youraddress+jenkinsrelease@gmail.comвона все одно буде надіслана на вашу поштову скриньку, де ви можете фільтрувати за адресою одержувача. Обов’язково фільтруйте за допомогою повної електронної адреси to:youraddress+jenkinsrelease@gmail.com. Звичайно, це більш-менш те саме, що встановити для цього спеціальну адресу Gmail :-)


Чи є символ втечі для пошуку дужок або розділових знаків?
Арон

@Aron Я не вірю в це. Хоча деякі розділові знаки обробляються спеціально (пов'язані з кодом, як-от c++), найкраще думати про пошук як про роботу лише за попередньо індексованими словами.
mr.spuratic

Я думаю, ви можете використовувати подвійну цитату ", щоб уникнути дужок. Я використовую у своїх фільтрах і, схоже, це працює. Якщо я використовую, subject: {[term1] (part of term2}я знаходжу в темі всі повідомлення, що містять як термін1, так і частину терміна2 . Але у формі, яку subject:{"[term1] (part of term2"}я знаходжу усі повідомлення з тематикою починаються саме з [term1] (частина
терміна2

1

Єдиний варіант, який я знайшов це зробити, - це знайти точне формулювання та помістити його під опцією "Має слова". Це не найкращий варіант, але він працює.


-7

Мені було цікаво, як це зробити самому; здається, Gmail з тих пір мовчки реалізував цю функцію. Я створив такий фільтр:

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

А потім я надіслав повідомлення з темою

[test] foo

І повідомлення було заархівовано! Тому, здається, все, що потрібно, - це створити фільтр для тематичного префікса, який ви хочете обробити.


5
Зауважте, що якщо ви надішлете повідомлення з темою "foo", ваш фільтр також його захопить. "[test]" дійсно шукає "test" =)
Даніель Гілл

25
Ось порада: коли ви хочете протестувати ідею, спробуйте придумати способи її спростувати. У вашому випадку ви написали фільтр для захоплення квадратних дужок, і ваш тест очікував, що фільтр спрацює. Ви повинні перевірити його, очікуючи, що він не вийде, як зазначав @DanielGill. :)
pedromanoel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.