web-dev-qa-db-fra.com

Recherchez des caractères spéciaux tels que "!" Dans l'objet Gmail.

Est-ce que quelqu'un sait si, dans Gmail, vous pouvez rechercher tous les messages contenant un point d'exclamation dans le sujet?

J'aimerais créer un filtre qui ajoute une étiquette rouge ! aux messages comportant un point d'exclamation dans le sujet. Mais la recherche de subject:! entraîne l'affichage de tous les messages. J'ai essayé des choses comme /!/, /\!/, (/\!/), "!", mais toutes ces recherches ne donnent que tous les messages, pas seulement ceux avec ! dans l'objet.

29
jankeir

Dans la documentation " À propos de la recherche Gmail ":

Gmail ne reconnaît pas les caractères de recherche spéciaux tels que les crochets, les parenthèses, les symboles monétaires, l'esperluette, le signe dièse et les astérisques.

Comme vous semblez avoir déjà découvert, et mes tests rapides semblent confirmer, cela semble inclure le caractère de point d'exclamation.

Je suppose que l'expression régulière utilisée par Google pour faire correspondre les requêtes de recherche à des résultats possibles exclut simplement tous les caractères spéciaux et ne fonctionne que sur les "caractères Word" (vous pouvez en quelque sorte le confirmer par le fait que la recherche du caractère de soulignement, _, travaille - le trait de soulignement est traité comme un caractère Word dans une expression régulière).

17
James Allardice

À l'aide de Google Apps Script, vous pouvez utiliser expressions régulières dans Gmail pour rechercher les messages dont le point d'exclamation est défini.

Le même script peut être étendu pour appliquer des filtres Gmail aux messages qui correspondent à l'expression.

Mise à jour: voici l'extrait de script d'application qui devrait vous aider à trouver les messages pertinents:

var pattern = "^!";
var threads = GmailApp.search("in:inbox");

for (var i = 0; i < threads.length; i++) { 
  var messages = threads[i].getMessages();

  for (var m = 0; m < messages.length; m++) {
      var subject = messages[m].getSubject();
      if (subject.search(pattern) !== -1) 
         Logger.log("https://mail.google.com/mail/u/0/#all/" + messages[m].getId());
  }
}
11
Amit Agarwal