Comment créer un filtre Gmail pour rechercher du texte uniquement au début de la ligne d'objet?


113

Nous recevons régulièrement des messages de build automatisés de la part des serveurs de build Jenkins au travail.

Ce serait bien de les retrouver dans une étiquette, en sautant la boîte de réception.

L'utilisation d'un filtre est bien sûr le bon choix.

L'identifiant souhaité est la chaîne [RELEASE]au début d'une ligne d'objet.

Si vous essayez de spécifier l'une des expressions régulières suivantes, les e-mails avec la chaîne releasedans tous les cas n'importe où dans la ligne d'objet sont mis en correspondance:

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

D'après ce que j'ai lu par la suite, Gmail ne prend pas en charge les expressions régulières standard et, d'après l'expérimentation, il semble, comme pour la recherche Google, que les caractères spéciaux soient simplement ignorés.

Je suis donc à la recherche d'un paramètre de recherche qui peut être utilisé, peut - être quelque chose comme atstart:mystringconforme à leurs has:, in:notations.

Existe-t-il un moyen de forcer la correspondance uniquement si elle se produit au début de la ligne, et uniquement dans le cas où des crochets sont inclus?

Sincères remerciements.


Ne devrais- ^\[RELEASE\].*je pas faire l'affaire ou est-ce que je ne comprends pas ce que vous voulez faire?
Hauns TM

Non, indépendamment des échappements, le format regex ne fonctionne pas. D'après ce que j'ai lu, gmail ne prend pas en charge les regex standard et, d'après l'expérimentation, il semble, comme avec la recherche Google, que les caractères spéciaux soient simplement ignorés. Je suis à la recherche d'un drapeau « secret » ou tel qui peut être utilisé » peut - être quelque chose comme atstart:mystringconforme à leurs has:, in:notations. J'ajouterai cette information dans mon message pour clarification, merci quand même.
KomodoDave

Réponses:


148

Regex n'est pas sur la liste des fonctionnalités de recherche , et il était sur (plus ou moins, comme meilleure fonctionnalité de recherche de message (c'est-à-dire Wildcard et recherche de mots partiels) ) la liste des demandes de fonctionnalités pré-programmées , donc la réponse est "vous ne pouvez pas faire ceci via l'interface utilisateur Web de Gmail ":-(

Il n'y a pas de fonctionnalités actuelles de Labs qui offrent cela. Les filtres SIEVE seraient une autre façon de faire cela, qui n'était pas non plus pris en charge , il ne semble plus y avoir de déclaration définitive sur la prise en charge de SIEVE dans l'aide de Gmail.

Mise à jour pour la pourriture des liens La liste pré-programmée des demandes de fonctionnalités était, euh, en conserve, l'original est sur archive.org daté de 2012, maintenant vous êtes simplement redirigé vers une page simplifiée vous indiquant comment donner des commentaires. Le manque de prise en charge de SIEVE a été abordé dans la réponse 78761 Gmail prend- il en charge toutes les fonctionnalités IMAP? , depuis un certain temps en 2015, cette réponse redirige silencieusement vers la réponse sur la configuration du client IMAP, archive.org a une copie datée de 2014.

Avec la fonction de recherche actuelle, des crochets de n'importe quelle forme () {} []sont utilisés pour le regroupement, ils n'ont aucun effet observable s'il n'y a qu'un seul terme à l'intérieur. Utiliser (aaa|bbb)et [aaa|bbb]sont équivalents et trouveront tous deux des mots aaaou bbb. La plupart des autres caractères de ponctuation, y compris \, sont traités comme un espace ou un séparateur de mots, + - :et "ont cependant une signification particulière, voir l' aide .

Depuis 2016, seul le formulaire " {term1 term2}" est documenté à cet effet, et équivaut à la recherche " term1 OR term2".

Vous pouvez effectuer des recherches regex sur votre boîte aux lettres (dans certaines limites) par programmation via Google docs: http://www.labnol.org/internet/advanced-gmail-search/21623/ a une source montrant comment cela peut être fait (copiez le document, puis Tools > Script Editorpour obtenir la source complète).

Vous pouvez également le faire via IMAP comme décrit ici: Python IMAP recherche un sujet partiel et script quelque chose pour déplacer les messages vers un dossier différent. Le verbe IMAP SEARCH ne prend en charge que les sous-chaînes, pas les expressions régulières (la recherche Gmail est en outre limitée aux mots complets, pas aux sous-chaînes), un traitement supplémentaire des correspondances pour appliquer une expression régulière serait nécessaire.

Pour être complet, une dernière solution de contournement est la suivante: Gmail prend en charge l' adressage plus , si vous pouvez modifier l'adresse de destination, youraddress+jenkinsrelease@gmail.comelle sera toujours envoyée à votre boîte aux lettres où vous pouvez filtrer par adresse de destinataire. Assurez-vous de filtrer en utilisant l'adresse e-mail complète to:youraddress+jenkinsrelease@gmail.com. C'est bien sûr plus ou moins la même chose que la mise en place d'une adresse Gmail dédiée à cet effet :-)


Existe-t-il un caractère d'échappement pour rechercher des crochets ou des signes de ponctuation?
Aron

@Aron, je ne le crois pas. Bien que certaines ponctuations soient gérées spécialement (liées au code, par exemple c++), il est préférable de penser que la recherche ne fonctionne que sur des mots pré-indexés.
mr.spuratic

Je pense que vous pouvez utiliser des guillemets doubles "pour échapper les crochets. J'utilise dans mes filtres et il semble que cela fonctionne. Si j'utilise, subject: {[term1] (part of term2}je trouve tous les messages contenant à la fois term1 et une partie de term2 dans le sujet. Mais avec le formulaire, subject:{"[term1] (part of term2"}je trouve tous les messages avec des sujets commençant exactement par [term1] (partie de term2
Izerlotti

1

La seule option que j'ai trouvée pour ce faire est de trouver un libellé exact et de le mettre sous l'option «A les mots». Ce n'est pas la meilleure option, mais cela fonctionne.


-7

Je me demandais comment faire cela moi-même; il semble que Gmail ait depuis implémenté silencieusement cette fonctionnalité. J'ai créé le filtre suivant:

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

Et puis j'ai envoyé un message avec le sujet

[test] foo

Et le message a été archivé! Il semble donc que tout ce qui est nécessaire est de créer un filtre pour le préfixe de sujet que vous souhaitez gérer.


5
Notez que si vous envoyez un message avec le sujet «test foo», votre filtre le capturera également. "[test]" ne recherche vraiment que "test" =)
Daniel Gill

25
Voici un conseil: lorsque vous souhaitez tester une idée, essayez de trouver des moyens de la réfuter. Dans votre cas, vous avez écrit un filtre pour capturer les crochets, et votre test s'attendait à ce que le filtre fonctionne. Vous devriez le tester en vous attendant à un échec, comme l'a souligné @DanielGill. :)
pedromanoel
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.