在Gmail主题中搜索特殊字符,例如“!”


30

有谁知道您是否可以在Gmail中搜索主题中带有感叹号的所有邮件?

我想创建一个过滤器,!为主题中带有感叹号的邮件添加红色标签。但是subject:!在所有消息中搜索结果。我试过之类的东西/!//\!/(/\!/)"!",但所有这些搜索只给我所有的消息,而不仅仅是那些!在主题。

Answers:


18

从“ 关于Gmail搜索 ”文档中:

Gmail无法识别特殊的搜索字符,例如方括号,括号,货币符号,“&”号,英镑符号和星号。

您似乎已经发现了,而我的快速测试似乎也证实了这一点,其中似乎包括了感叹号字符。

我假设Google用于将搜索查询与可能的结果匹配的正则表达式只是排除了所有特殊字符,并且仅对“单词字符”进行操作(您可以通过搜索下划线字符“ _-”来工作,从而在某种程度上证实了这一点-下划线在正则表达式中被视为单词字符)。


1
谢谢,不是我想听的,但至少我知道我必须为我的需求弄清楚其他事情。
jankeir 2012年

破折号“-”呢?
Pacerier 2014年

搜索中的破折号是NOT运算符。您将无法搜索破折号。
ale

1
@Google对于搜索公司而言,它确实是系统中的一个巨大漏洞,无法搜索特殊字符。地球上其他所有搜索技术都可以做到这一点,但Google不能做到?tisk,tisk,tisk ...
MikeyE

11

借助Google Apps脚本,您可以在Gmail中使用正则表达式来查找主题中带有感叹号的邮件。

可以扩展同一脚本,以将Gmail过滤器应用于与表达式匹配的邮件。

更新:以下是Apps脚本的代码段,应该可以帮助您找到相关的消息:

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),这是个很好的建议,尽管我担心使用它会使我运行到应用程序脚本配额的数量比我已经做的更多。
jankeir 2012年

真正。尽管目前无法想到其他解决方法。
阿米特·阿加瓦尔

看来这也是IMAP邮件客户端访问Gmail的一个问题- stackoverflow.com/q/9589583/94687。因此,仅使用外部IMAP客户端进行此类搜索不是解决方案(除非客户端自行进行过滤,而不依赖服务器对的响应SEARCH)。
imz-伊万·扎哈拉里谢夫(Ivan Zakharyaschev)2016年
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.