Yalnızca konu satırının başında metin arayarak Gmail filtresi nasıl oluşturulur?


113

İş yerindeki Jenkins derleme sunucularından düzenli otomatik derleme mesajları alıyoruz.

Bunları gelen kutusunu atlayarak bir etiket haline getirmek güzel olurdu.

Bir filtre kullanmak elbette doğru seçimdir.

İstenen tanımlayıcı, [RELEASE]konu satırının başındaki dizedir .

Aşağıdaki normal ifadelerden herhangi birini belirlemeye çalışmak, dizeyi içeren e-postaların releaseher durumda konu satırının herhangi bir yerinde eşleştirilmesine neden olur:

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

Daha sonra okuduğuma göre, Gmail standart normal ifade desteğine sahip değil ve deneyime göre, google aramada olduğu gibi, özel karakterler basitçe göz ardı ediliyor.

Bu yüzden kullanılabilecek bir arama parametresi gibi belki bir şey arıyorum atstart:mystringkendi doğrultusunda has:, in:gösterimler.

Maçı yalnızca satırın başlangıcında mı yoksa köşeli parantezlerin de dahil edilmesi durumunda zorlamanın bir yolu var mı?

İçten teşekkürler.


Numara yapmamalı mıyım yoksa ^\[RELEASE\].*yapmak istediğini yanlış mı anlıyorum?
Hauns TM

Normal ifade biçiminin çalışmadığı çıkışlardan bağımsız olarak hayır. Gmail'de okuduğum kadarıyla standart normal ifade desteği yok ve deneyime göre, google aramada olduğu gibi, özel karakterler basitçe göz ardı ediliyor. Belki 'gibi bir şey kullanılabilecek bir "gizli" bayrak veya böyle arıyorum atstart:mystringkendi doğrultusunda has:, in:gösterimler. Bu bilgiyi açıklama için yazıma ekleyeceğim, yine de teşekkürler.
KomodoDave

Yanıtlar:


148

Regex üzerinde değil arama özellikleri listesinde ve oldu üzerinde (aynı, az ya da çok daha iyi hale arama işlevselliği (yani Joker ve kısmi kelime arama) ) önceden konserve listesi özellik taleplerine cevap yüzden, "yapamayacağınız bunu Gmail web kullanıcı arayüzü yoluyla ":-(

Bunu sunan mevcut Labs özelliği yok . SIEVE filtreleri bunu yapmanın başka bir yolu olabilirdi, bu da desteklenmiyordu , artık Gmail yardımında SIEVE desteği hakkında kesin bir açıklama yok gibi görünüyor.

Bağlantı çürümesi için güncellendi Özellik isteklerinin önceden hazırlanmış listesi, hazır, hazır, orijinal 2012 tarihli archive.org adresindedir, şimdi size nasıl geri bildirim vereceğinizi söyleyen basitleştirilmiş bir sayfaya yönlendirileceksiniz . ELEK desteğinin eksikliği olan cevabı 78761 kaplı tüm IMAP özelliklerini destekliyor mu Gmail? 2015'te bir süredir bu yanıt , IMAP istemci yapılandırmasıyla ilgili yanıta sessizce yönlendirdiğinden, archive.org'un 2014 tarihli bir kopyası var.

Herhangi bir formdaki mevcut arama () {} []aracı parantezleri gruplandırma için kullanılırken, içinde yalnızca bir terim varsa bunların gözlemlenebilir bir etkisi yoktur. Kullanılması (aaa|bbb)ve [aaa|bbb]eşdeğerdir ve iki kelimeyi bulacaksınız aaaya bbb. Dahil olmak üzere diğer noktalama karakterlerinin çoğu \boşluk veya sözcük ayırıcı olarak kabul edilir + - :ve "özel anlamları vardır, yardıma bakın .

2016 itibariyle, bunun için yalnızca " {term1 term2}" formu belgelenmiştir ve " term1 OR term2" aramasına eşdeğerdir .

Sen olabilir programlı Google docs aracılığıyla (sınırlarda) kutunuzdaki üzerinde regex aramalar yapın: http://www.labnol.org/internet/advanced-gmail-search/21623/ bu yapılabilir nasıl kaynak gösteren (belgeyi kopyalama etti, sonra Tools > Script Editortam kaynağı almak için).

Bunu IMAP yoluyla da burada açıklandığı gibi yapabilirsiniz: Python IMAP kısmi konu arar ve mesajları farklı klasöre taşımak için komut dosyası oluşturur. IMAP ARAMA fiili, normal ifadeyi değil yalnızca alt dizeleri destekler (Gmail araması, alt dizelerle değil, tam sözcüklerle sınırlıdır), bir normal ifade uygulamak için eşleşmelerin daha fazla işlenmesi gerekecektir.

Tamlık için son bir geçici çözüm şudur: Gmail artı adreslemeyi destekler , hedef adresi olarak değiştirebilirseniz, youraddress+jenkinsrelease@gmail.comyine de alıcı adresine göre filtreleyebileceğiniz posta kutunuza gönderilecektir. Tam e-posta adresini kullanarak filtrelediğinizden emin olun to:youraddress+jenkinsrelease@gmail.com. Bu, elbette bu amaç için özel bir Gmail adresi ayarlamakla aşağı yukarı aynı şey :-)


Parantez veya noktalama işaretlerini aramak için bir çıkış karakteri var mı?
Aron

@Aron Ben inanmıyorum. Bazı noktalama işaretleri özel olarak işlense de (kodla ilgili gibi c++), aramayı yalnızca önceden dizine alınmış sözcükler üzerinde çalışmak olarak düşünmek en iyisidir.
mr.spuratic

Ben kullanın. Çalıştığını gibi benim filtreleri ve görünüşteki kullanıyorum. Eğer parantez kaçmayı çift tırnak "kullanabilirsiniz düşünüyorum subject: {[term1] (part of term2}ben de içeren tüm iletileri bulmak TERM1 ve TERM2 kısmını konuda. Ama form ile subject:{"[term1] (part of term2"}bulurum tam olarak [1. dönem]
Izerlotti

1

Bunu yapmak için bulduğum tek seçenek, bazı kesin ifadeler bulmak ve bunu "Kelimelere sahip" seçeneğinin altına koymak. En iyi seçenek değil ama işe yarıyor.


-7

Bunu kendim nasıl yapacağımı merak ediyordum; Görünüşe göre Gmail bu özelliği sessizce uyguladı. Aşağıdaki filtreyi oluşturdum:

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

Ve sonra konuyla ilgili bir mesaj gönderdim

[test] foo

Ve mesaj arşivlendi! Bu nedenle, tek yapmanız gereken, işlemek istediğiniz konu öneki için bir filtre oluşturmak gibi görünüyor.


5
'Test foo' konulu bir mesaj gönderirseniz, filtrenizin de onu yakalayacağını unutmayın. "[test]" yalnızca "test" = için gerçekten arama yapıyor
Daniel Gill

25
İşte bir ipucu: Bir fikri test etmek istediğinizde, onu çürütmenin yollarını bulmaya çalışın. Sizin durumunuzda, köşeli parantezleri yakalamak için bir filtre yazdınız ve testiniz filtrenin çalışmasını bekliyordu. @DanielGill'in belirttiği gibi, başarısız olmasını bekleyerek test etmelisiniz. :)
pedromanoel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.