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

Regex 如何创建只在主题行开头搜索文本的Gmail过滤器?,regex,filter,gmail,subject,Regex,Filter,Gmail,Subject,我们从工作中的Jenkins构建服务器接收定期自动构建消息 如果能把这些信息放到标签上,跳过收件箱,那就太好了 使用过滤器当然是正确的选择 所需的标识符是主题行开头的字符串[RELEASE] 尝试指定以下任何正则表达式都会导致主题行中任何位置带有字符串release的电子邮件匹配: \[RELEASE\]* ^\[RELEASE\] ^\[RELEASE\]* ^\[RELEASE\].* 从我随后读到的内容来看,Gmail没有标准的正则表达式支持,从实验来看,就像谷歌搜索一样,特殊字符被忽略

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

如果能把这些信息放到标签上,跳过收件箱,那就太好了

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

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

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

\[RELEASE\]*
^\[RELEASE\]
^\[RELEASE\]*
^\[RELEASE\].*
从我随后读到的内容来看,Gmail没有标准的正则表达式支持,从实验来看,就像谷歌搜索一样,特殊字符被忽略了

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

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

真诚的感谢。

Regex不在上,它(或多或少,作为更好的消息搜索功能(即通配符和部分单词搜索))在预封装列表上,因此答案是“您不能通过Gmail web UI执行此操作”:(

目前实验室还没有提供这种功能。筛子过滤器将是实现这一点的另一种方式,而且,Gmail帮助中似乎不再有任何关于筛子支持的明确声明

更新为link rot功能请求的预封装列表是,呃封装的,原始列表在archive.org上,日期为2012年,现在你只需进入一个简单的页面,告诉你如何给出反馈。答案78761中涵盖了筛支持的缺失Gmail是否支持所有IMAP功能?,因为2015年的某个时候会自动重定向到关于IMAP客户端配置的答案,archive.org有一份日期为2014年的副本

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

截至2016年,仅记录了表格“
{term1 term2}
”,相当于搜索“
term1或term2

您可以通过Google docs以编程方式(在限制范围内)对邮箱进行正则表达式搜索:源代码显示了如何进行搜索(复制文档,然后
Tools>Script Editor
以获取完整的源代码)

您也可以通过IMAP执行此操作,如下所述: IMAP搜索动词只支持子字符串,不支持正则表达式(Gmail搜索进一步限制为完整的单词,而不是子字符串),需要进一步处理匹配以应用正则表达式


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

我想知道自己该怎么做;似乎Gmail已经悄悄地实现了这一功能。我创建了以下过滤器:

Matches: subject:([test])
Do this: Skip Inbox
然后我发了一条关于这个主题的信息

[test] foo

而且邮件已存档!因此,似乎只需为您希望处理的主题前缀创建一个筛选器。

我发现唯一的方法是找到一些确切的措辞,并将其放在“Has the words”选项下。这不是最好的选择,但它可以工作。

不应该
^\[RELEASE\].*
玩把戏,否则我会误解你想做什么吗?不管转义是什么,regex格式都不起作用。从我读到的gmail没有标准regex支持,从实验来看,就像谷歌搜索一样,特殊字符被忽略了。我在寻找一个“秘密”“可以使用的标志或类似标志‘可能类似于
atstart:mystring
,与它们的
保持一致,有:
在:
符号中。”。我将把这些信息添加到我的帖子中以澄清,谢谢你。请注意,如果你发送一条主题为“testfoo”的消息,你的过滤器也会捕捉到它。“[test]”只搜索“test”=)这里有一个提示:当你想测试一个想法时,试着想出反驳它的方法。在您的例子中,您编写了一个过滤器来捕获方括号,您的测试期望过滤器能够工作。你应该像@DanielGill指出的那样,测试它,期望它失败是否有转义字符用于搜索括号或标点符号?@Aron我不这么认为。虽然一些标点符号是经过特殊处理的(与代码相关,如
c++
),但最好将搜索视为只处理预索引的单词。我认为可以使用双引号“来转义括号。我在过滤器中使用了双引号,看起来很有效。如果我使用
主题:{[term1](term2的一部分)}
我在主题中找到所有包含term1和term2部分的消息。但是使用
主题:{“[term1](term2部分)}
我找到所有主题以[term1](term2部分)开头的消息