Como criar o filtro do Gmail procurando texto apenas no início da linha de assunto?

113

Recebemos mensagens de compilação automatizadas regulares de servidores de compilação Jenkins no trabalho.

Seria bom guardá-los em uma etiqueta, pulando a caixa de entrada.

Usar um filtro é, obviamente, a escolha certa.

O identificador desejado é a string [RELEASE]no início de uma linha de assunto.

A tentativa de especificar qualquer um dos seguintes regexes faz com que os e-mails com a string releaseem qualquer caso em qualquer lugar na linha de assunto sejam correspondidos:

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

Pelo que li posteriormente, o Gmail não tem suporte para regex padrão e, por experiência, parece que, como na pesquisa do Google, os caracteres especiais são simplesmente ignorados.

Estou, portanto, à procura de um parâmetro de pesquisa que pode ser usado, talvez algo como atstart:mystringde acordo com as suas has:, in:notações.

Existe uma maneira de forçar a correspondência apenas se ocorrer no início da linha e apenas no caso de colchetes serem incluídos?

Sinceros agradecimentos.

KomodoDave
fonte
Não deveria ^\[RELEASE\].*fazer o truque ou não entendi o que você quer fazer?
Hauns TM
Independentemente dos escapes, o formato regex não funciona. Pelo que li, o gmail não tem suporte para regex padrão e, pela experimentação, parece que, como na pesquisa do Google, os caracteres especiais são simplesmente ignorados. Estou à procura de uma bandeira "segredo" ou tal que pode ser usado' talvez algo como atstart:mystringde acordo com as suas has:, in:notações. Vou adicionar essa informação em minha postagem para esclarecimento, obrigado de qualquer maneira.
KomodoDave

Respostas:

148

Regex não está na lista de recursos de pesquisa e estava (mais ou menos, como melhor funcionalidade de pesquisa de mensagens (ou seja, curinga e pesquisa parcial de palavras) ) na lista de solicitações de recursos predefinidos , então a resposta é "você não pode fazer isso por meio da IU da web do Gmail ":-(

Não há recursos atuais do Labs que ofereçam isso. Os filtros SIEVE seriam outra forma de fazer isso, que também não era compatível , parece não haver mais nenhuma declaração definitiva sobre o suporte SIEVE na ajuda do Gmail.

Atualizado para link rot A lista pré-enlatada de solicitações de recursos foi, ou seja, a original está no archive.org datada de 2012, agora você é redirecionado para uma página simplificada que informa como fornecer feedback. A falta de suporte SIEVE foi abordada na resposta 78761 O Gmail oferece suporte a todos os recursos IMAP? , desde algum momento em 2015 essa resposta redireciona silenciosamente para a resposta sobre a configuração do cliente IMAP, archive.org tem uma cópia datada de 2014.

Com o recurso de pesquisa atual, colchetes de qualquer forma () {} []são usados ​​para agrupamento, eles não têm nenhum efeito observável se houver apenas um termo dentro. Usar (aaa|bbb)e [aaa|bbb]são equivalentes e ambos encontrarão palavras aaaou bbb. A maioria dos outros caracteres de pontuação, incluindo \, são tratados como um espaço ou um separador de palavras + - :e "têm um significado especial, consulte a ajuda .

A partir de 2016, apenas o formulário " {term1 term2}" está documentado para isso, e é equivalente à pesquisa " term1 OR term2".

Você pode fazer pesquisas regex em sua caixa de correio (dentro dos limites) programaticamente por meio do Google docs: http://www.labnol.org/internet/advanced-gmail-search/21623/ tem uma fonte mostrando como isso pode ser feito (copie o documento, em seguida, Tools > Script Editorpara obter o código-fonte completo).

Você também pode fazer isso por meio de IMAP, conforme descrito aqui: Python IMAP pesquise por assunto parcial e faça um script de algo para mover mensagens para uma pasta diferente. O verbo IMAP SEARCH oferece suporte apenas a substrings, não a regex (a pesquisa do Gmail é ainda mais limitada a palavras completas, não a substrings), seria necessário um processamento adicional das correspondências para aplicar uma regex.

Para completar, uma última solução alternativa é: o Gmail oferece suporte para mais endereçamento , se você puder alterar o endereço de destino, [email protected]ele ainda será enviado para sua caixa de correio, onde você pode filtrar por endereço de destinatário. Certifique-se de filtrar usando o endereço de e-mail completo to:[email protected]. É claro que isso é mais ou menos a mesma coisa que configurar um endereço do Gmail dedicado para esse propósito :-)

mr.spuratic
fonte
Existe um caractere de escape para pesquisar colchetes ou pontuação?
Aron,
@Aron, não acredito. Embora alguma pontuação seja tratada de maneira especial (relacionada ao código, como c++), é melhor pensar na pesquisa como trabalhando apenas com palavras pré-indexadas.
mr.spuratic de
Acho que você pode usar aspas duplas "para escapar dos colchetes. Estou usando em meus filtros e parece que funciona. Se usar subject: {[term1] (part of term2}, encontro todas as mensagens contendo o termo1 e parte do termo2 no assunto. Mas com o formulário subject:{"[term1] (part of term2"}, encontro todas as mensagens com assuntos começando exatamente com [termo1] (parte do
termo2
1

A única opção que encontrei para fazer isso é encontrar algumas palavras exatas e colocá-las na opção "Tem as palavras". Não é a melhor opção, mas funciona.

estoque
fonte
-7

Eu queria saber como fazer isso sozinho; parece que o Gmail implementou esse recurso silenciosamente. Criei o seguinte filtro:

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

E então mandei uma mensagem com o assunto

[test] foo

E a mensagem foi arquivada! Portanto, parece que tudo o que é necessário é criar um filtro para o prefixo do assunto que você deseja manipular.

Mrfitzy
fonte
5
Observe que se você enviar uma mensagem com o assunto 'test foo', seu filtro também irá detectá-la. "[teste]" realmente só pesquisa por "teste" =)
Daniel Gill
25
Aqui vai uma dica: quando você quiser testar uma ideia, tente encontrar maneiras de refutá-la. No seu caso, você escreveu um filtro para capturar os colchetes e seu teste esperava que o filtro funcionasse. Você deve testá-lo esperando que ele falhe, como @DanielGill apontou. :)
pedromanoel