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

标签 regex filter gmail subject

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

最好将这些内容放入标签中,跳过收件箱。

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

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

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

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

从我随后读到的内容来看,Gmail 没有标准的正则表达式支持,而且从实验来看,与 google 搜索一样,特殊字符会被简单地忽略。

因此,我正在寻找一个可以使用的搜索参数,可能类似于 atstart:mystring ,以与他们的 has:, in: 符号。

有没有办法强制匹配仅发生在行的开头,并且仅在包含方括号的情况下?

真诚的感谢。

最佳答案

正则表达式不在list of search features上,并且它位于(或多或少,因为更好的消息搜索功能(即通配符和部分单词搜索))预装feature requests列表,所以答案是“您无法通过 Gmail 网络用户界面执行此操作”:-(

当前实验室没有提供此功能的功能。 SIEVE 过滤器也是实现此目的的另一种方法 was not supported ,Gmail 帮助中似乎不再有任何关于 SIEVE 支持的明确声明。

Updated for link rot The pre-canned list of feature requests was, er canned, the original is on archive.org dated 2012, now you just get redirected to a dumbed down page telling you how to give feedback. Lack of SIEVE support was covered in answer 78761 Does Gmail support all IMAP features?, since some time in 2015 that answer silently redirects to the answer about IMAP client configuration, archive.org has a copy dated 2014.

在当前的搜索工具中,任何形式的括号 () {} [] 用于分组,如果其中只有一个术语,则它们没有明显的效果。使用 (aaa|bbb)[aaa|bbb] 是等效的,都可以查找单词 aaabbb 。大多数其他标点字符(包括 \)被视为空格或单词分隔符,+ - :" 确实有特殊含义,请参阅 help

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

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

您还可以通过 IMAP 执行此操作,如下所述: Python IMAP search for partial subject 并编写一些脚本将邮件移动到不同的文件夹。 IMAP SEARCH 谓词仅支持子字符串,而不支持正则表达式(Gmail 搜索进一步限于完整单词,而不支持子字符串),需要进一步处理匹配以应用正则表达式。

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

关于regex - 如何创建仅在主题行开头搜索文本的 Gmail 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12246547/

相关文章:

python - 仅检测正则表达式中的数字

c# - C# 中的正则表达式提取子字符串

wpf - 无法将类型 IEnumerable 转换为 ObservableCollection...您是否缺少类型转换?

c++ - 我们可以得到一个迭代器来从 C++ 中的谓词过滤 vector 吗?

java - 从过滤器转发请求

python - Gmail IMAP 不返回 uids

regex - 通过正则表达式修剪 URL,但不修改为 root

c# - 字符串的正则表达式以数字开头,后跟字母

Java程序无法连接到我的gmail帐户

html - 将 HTML 电子邮件发送到 Gmail 时更改表格中的单元格高度