Pesquise caracteres especiais como "!" No assunto do Gmail

30

Alguém sabe se no Gmail você pode pesquisar todas as mensagens com um ponto de exclamação no assunto?

Gostaria de criar um filtro que adicione um !rótulo vermelho às mensagens com um ponto de exclamação no assunto. Mas procurando subject:!resultados em todas as mensagens. Eu tentei coisas como /!/, /\!/, (/\!/), "!", mas todas essas pesquisas apenas dar-me todas as mensagens, não apenas aqueles com !no assunto.

jankeir
fonte

Respostas:

18

Na documentação " Sobre a pesquisa do Gmail ":

O Gmail não reconhece caracteres de pesquisa especiais, como colchetes, parênteses, símbolos de moeda, o e comercial, o sinal de libra e asteriscos.

Como você já descobriu, e meus testes rápidos parecem confirmar, isso parece incluir o caractere de ponto de exclamação.

Eu suponho que a expressão regular que o Google está usando para combinar consultas de pesquisa com possíveis resultados simplesmente exclui todos os caracteres especiais e opera apenas em "caracteres da palavra" (você pode confirmar isso de alguma forma pelo fato de pesquisar o caractere de sublinhado _, funciona - o sublinhado é tratado como um caractere de palavra em uma expressão regular).

James Allardice
fonte
1
Obrigado, não o que eu queria ouvir, mas pelo menos eu sei que vou ter que descobrir outra coisa para minhas necessidades.
jankeir
E o traço "-"?
Pacerier 25/04
O traço na pesquisa é um NOToperador. Você não poderá procurar por um traço.
ale
1
@Google para uma empresa de pesquisa, é realmente um enorme buraco no sistema que não pode procurar caracteres especiais. Qualquer outra tecnologia de pesquisa do planeta pode fazer isso, mas não o Google?
tisk
11

Com a ajuda do Script do Google Apps, você pode usar expressões regulares no Gmail para encontrar mensagens com o ponto de exclamação no assunto.

O mesmo script pode ser estendido para aplicar filtros do Gmail a mensagens que correspondem à expressão.

Atualização: veja o trecho do Script do Google Apps que deve ajudá-lo a encontrar as mensagens relevantes:

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());
  }
}
Amit Agarwal
fonte
Obrigado Amit, boa sugestão, embora eu receie que usá-lo me faça correr para a cota de scripts de aplicativos ainda mais do que eu já faço.
jankeir
Verdade. Não consigo pensar em nenhuma outra solução alternativa no momento.
Amit Agarwal
parece que esse também é um problema para clientes de email IMAP acessando o GMail - stackoverflow.com/q/9589583/94687 . Portanto, apenas o uso de um cliente IMAP externo para esse tipo de pesquisa não é uma solução (a menos que o cliente faça a própria filtragem, sem depender das respostas do servidor SEARCH).
imz - Ivan Zakharyaschev 14/09/16