如何创建仅在主题行开头搜索文本的Gmail过滤器?


113

我们会在工作时从Jenkins构建服务器接收定期的自动构建消息。

最好将这些雪貂剔成标签,跳过收件箱。

使用过滤器当然是正确的选择。

所需的标识符是[RELEASE]主题行开头的字符串。

尝试指定以下任何正则表达式都会导致release在主题行中的任何情况下匹配带有字符串的电子邮件:

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

从我随后阅读的内容来看,Gmail不具有标准的正则表达式支持,并且从实验来看,似乎与Google搜索一样,特殊字符都被忽略了。

因此,我正在寻找一个可以使用的搜索参数,也许像atstart:mystring与它们的has:in:表示法一样。

有没有一种方法可以强制匹配,仅当它出现在行的开头并且仅在包含方括号的情况下才可以?

真诚的感谢。


不应该这样^\[RELEASE\].*做,还是我会误解你想做什么?
Hauns TM

不管是否转义,正则表达式格式都不起作用。从我读过的书中,gmail不支持标准正则表达式,而从实验来看,似乎与google搜索一样,特殊字符也被忽略了。我在寻找可以使用”可能像一个“秘密”标志或这样atstart:mystring与他们保持has:in:符号。我会将此信息添加到我的帖子中以进行澄清,无论如何,谢谢。
KomodoDave 2012年

Answers:


148

正则表达式是不是上的搜索功能列表,这对(或多或少,如更好的信息搜索功能(即通配符和部分单词搜索))预罐装的列表功能要求,所以答案是“你不能做通过Gmail网络用户界面” :-(

目前没有实验室功能可提供此功能。SIEVE过滤器将是执行此操作的另一种方法,该方法也不被支持,Gmail帮助中似乎不再有关于SIEVE支持的明确声明。

已针对链接腐烂进行了更新预先设置的功能请求列表已预先确定,原始文件位于2012年的archive.org上,现在您仅被重定向到一个哑巴的页面,告诉您如何提供反馈。缺乏筛支持覆盖在回答78761 Gmail支持IMAP的所有功能吗?,由于该答案在2015年的某个时间默默地重定向到有关IMAP客户端配置的答案,因此archive.org的副本为2014年。

在当前的搜索工具中,任何形式的方括号() {} []都可用于分组,如果其中只包含一个术语,则不会产生明显的效果。使用 (aaa|bbb)[aaa|bbb]等价,并且都可以找到单词aaabbb。大多数其他标点符号,包括\,被视为一个空间或一个字分隔符,+ - :"确实有特殊的含义,虽然,看到的帮助

截至2016年,仅记录了“ {term1 term2}” 形式,相当于搜索“ term1 OR term2”。

可以通过Google文档以编程方式(在限制范围内)在邮箱上进行正则表达式搜索:http : //www.labnol.org/internet/advanced-gmail-search/21623/具有显示如何进行正则表达式搜索的功能(复制文档,然后Tools > Script Editor获取完整的源代码)。

您也可以按如下所述通过IMAP进行此操作: Python IMAP搜索部​​分主题 并编写脚本以将消息移至其他文件夹。IMAP SEARCH动词仅支持子字符串,不支持正则表达式(Gmail搜索进一步限于完整的单词,而不是子字符串),需要对匹配进行进一步处理以应用正则表达式。

为了完整起见,最后一种解决方法是:Gmail支持加地址,如果您可以将目标地址更改为该地址,youraddress+jenkinsrelease@gmail.com它仍将被发送到您的邮箱,您可以在其中按收件人地址进行过滤。确保使用完整的电子邮件地址进行过滤to:youraddress+jenkinsrelease@gmail.com。当然,这与为此目的设置专用的Gmail地址大致相同:-)


是否有转义字符来搜索括号或标点符号?
阿隆(Aron)

@Aron我不相信。尽管某些标点符号是经过特殊处理的(与代码相关,如c++),但最好将搜索视为仅对预索引的单词起作用。
spuratic先生

我想你可以使用双引号“逃跑支架上。我用我的过滤器和看起来像它的工作原理。如果我使用subject: {[term1] (part of term2}我找到所有包含两个消息字词1字词2的一部分的问题。但与形式subject:{"[term1] (part of term2"},我觉得所有主题以[term1]
Izerlotti

1

我发现这样做的唯一选择是找到一些确切的措词,并将其放在“有单词”选项下。它不是最好的选择,但可以。


-7

我想知道自己怎么做;从那以后,Gmail似乎已经悄悄地实现了此功能。我创建了以下过滤器:

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

然后我发送了一个主题

[test] foo

邮件已存档!因此,似乎所需要做的就是为要处理的主题前缀创建一个过滤器。


5
请注意,如果您发送主题为“ test foo”的消息,则过滤器也会捕获该消息。“ [test]”仅真正搜索“ test” =)
Daniel Gill

25
这里有个提示:当您想测试一个想法时,请尝试提出反驳该想法的方法。在您的情况下,您编写了一个过滤器来捕获方括号,并且您的测试希望该过滤器可以工作。如@DanielGill所指出的,您应该测试它是否会失败。:)
pedromanoel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.