Bagaimana cara membuat filter Gmail mencari teks hanya di awal baris subjek?

113

Kami menerima pesan build otomatis reguler dari server build Jenkins di kantor.

Akan menyenangkan untuk menemukan ini menjadi label, melewatkan kotak masuk.

Menggunakan filter tentunya merupakan pilihan yang tepat.

Pengenal yang diinginkan adalah string [RELEASE]di awal baris subjek.

Mencoba menentukan salah satu dari ekspresi reguler berikut menyebabkan email dengan string releasedalam hal apa pun di mana pun di baris subjek untuk dicocokkan:

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

Dari apa yang saya baca selanjutnya, Gmail tidak memiliki dukungan regex standar, dan dari percobaan tampaknya, seperti pencarian Google, karakter khusus diabaikan begitu saja.

Karena itu saya sedang mencari parameter pencarian yang dapat digunakan, mungkin sesuatu seperti atstart:mystringsesuai dengan mereka has:, in:notasi.

Apakah ada cara untuk memaksa pertandingan hanya jika itu terjadi di awal baris, dan hanya dalam kasus di mana tanda kurung siku disertakan?

Terima kasih yang tulus.

KomodoDave
sumber
Tidakkah seharusnya ^\[RELEASE\].*melakukan trik atau apakah saya salah paham tentang apa yang ingin Anda lakukan?
Hauns TM
Tidak, terlepas dari pelolosan yang format regex tidak berfungsi. Dari apa yang saya baca, gmail tidak memiliki dukungan regex standar, dan dari percobaan tampaknya, seperti penelusuran google, karakter khusus diabaikan begitu saja. Saya mencari bendera "rahasia" atau semacamnya yang dapat digunakan 'mungkin sesuatu seperti atstart:mystringsesuai dengan has:, in:notasinya. Saya akan menambahkan info ini ke dalam posting saya untuk klarifikasi, terima kasih.
KomodoDave

Jawaban:

148

Regex tidak ada dalam daftar fitur pencarian , dan itu ada di (kurang lebih, sebagai fungsionalitas pencarian pesan yang lebih baik (misalnya, pencarian karakter pengganti dan sebagian) ) daftar permintaan fitur yang sudah disiapkan sebelumnya , jadi jawabannya adalah "Anda tidak dapat melakukannya ini melalui UI web Gmail ":-(

Tidak ada fitur Labs saat ini yang menawarkan ini. Filter SIEVE akan menjadi cara lain untuk melakukan ini, yang juga tidak didukung , sepertinya tidak ada lagi pernyataan definitif tentang dukungan SIEVE dalam bantuan Gmail.

Diperbarui untuk pembusukan tautan Daftar pra-kaleng dari permintaan fitur sebelumnya, eh kaleng, aslinya ada di archive.org tertanggal 2012, sekarang Anda hanya dialihkan ke halaman bodoh yang memberitahu Anda bagaimana memberi umpan balik. Kurangnya dukungan SIEVE itu tercakup dalam jawaban 78.761 Apakah Gmail mendukung semua fitur IMAP? , karena beberapa waktu di tahun 2015 jawaban itu secara diam-diam dialihkan ke jawaban tentang konfigurasi klien IMAP, archive.org memiliki salinan tertanggal 2014.

Dengan tanda kurung fasilitas pencarian saat ini dari bentuk apa pun () {} []yang digunakan untuk pengelompokan, mereka tidak memiliki efek yang dapat diamati jika hanya ada satu istilah di dalamnya. Menggunakan (aaa|bbb)dan [aaa|bbb]setara dan keduanya akan menemukan kata aaaatau bbb. Kebanyakan karakter tanda baca lainnya, termasuk \, diperlakukan sebagai spasi atau pemisah kata, + - :dan "memang memiliki arti khusus, lihat bantuannya .

Mulai 2016, hanya formulir " {term1 term2}" yang didokumentasikan untuk ini, dan setara dengan penelusuran " term1 OR term2".

Anda dapat melakukan pencarian regex di kotak surat Anda (dalam batasan) secara terprogram melalui Google docs: http://www.labnol.org/internet/advanced-gmail-search/21623/ memiliki sumber yang menunjukkan bagaimana hal itu dapat dilakukan (salin dokumen, kemudian Tools > Script Editoruntuk mendapatkan sumber lengkapnya).

Anda juga dapat melakukan ini melalui IMAP seperti yang dijelaskan di sini: Pencarian IMAP Python untuk subjek parsial dan skrip sesuatu untuk memindahkan pesan ke folder yang berbeda. Kata kerja IMAP SEARCH hanya mendukung substring, bukan regex (pencarian Gmail selanjutnya dibatasi untuk melengkapi kata, bukan substring), diperlukan pemrosesan lebih lanjut untuk mencocokkan untuk menerapkan regex.

Untuk kelengkapannya, satu solusi terakhir adalah: Gmail mendukung plus pengalamatan , jika Anda dapat mengubah alamat tujuan [email protected]itu akan tetap dikirim ke kotak surat Anda di mana Anda dapat memfilter berdasarkan alamat penerima. Pastikan untuk memfilter menggunakan alamat email lengkap to:[email protected]. Ini tentu saja kurang lebih sama dengan menyiapkan alamat Gmail khusus untuk tujuan ini :-)

mr.spuratic
sumber
Apakah ada karakter escape untuk mencari tanda kurung atau tanda baca?
Aron
@Aron Saya tidak percaya begitu. Meskipun beberapa tanda baca ditangani secara khusus (terkait kode, seperti c++), sebaiknya anggap penelusuran hanya bekerja pada kata-kata yang telah diindeks sebelumnya.
mr. Spuratic
Saya pikir Anda dapat menggunakan tanda kutip ganda "untuk menghindari tanda kurung. Saya menggunakan filter saya dan sepertinya berfungsi. Jika saya menggunakan, subject: {[term1] (part of term2}saya menemukan semua pesan yang berisi istilah1 dan bagian dari istilah2 dalam subjek. Tetapi dengan formulir yang subject:{"[term1] (part of term2"}saya temukan semua pesan dengan subjek yang dimulai persis dengan [istilah1] (bagian dari istilah2
Izerlotti
1

Satu-satunya pilihan yang saya temukan untuk melakukan ini adalah menemukan beberapa kata yang tepat dan meletakkannya di bawah opsi "Mengandung kata-kata". Ini bukan pilihan terbaik, tetapi berhasil.

persediaan
sumber
-7

Saya bertanya-tanya bagaimana melakukan ini sendiri; tampaknya Gmail telah menerapkan fitur ini secara diam-diam. Saya membuat filter berikut:

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

Dan kemudian saya mengirim pesan dengan subjek

[test] foo

Dan pesan itu diarsipkan! Jadi tampaknya yang diperlukan hanyalah membuat filter untuk awalan subjek yang ingin Anda tangani.

mrfitzy.dll
sumber
5
Perhatikan bahwa jika Anda mengirim pesan dengan subjek 'test foo', filter Anda juga akan menangkapnya. "[test]" hanya benar-benar menelusuri "test" =)
Daniel Gill
25
Berikut tipnya: ketika Anda ingin menguji sebuah ide, cobalah mencari cara untuk membantahnya. Dalam kasus Anda, Anda menulis filter untuk menangkap tanda kurung siku, dan pengujian Anda mengharapkan filter tersebut berfungsi. Anda harus mengujinya dan mengharapkannya gagal, seperti yang ditunjukkan @DanielGill. :)
pedromanoel