【问题标题】:Mozilla Thunderbird "FiltaQuilla"; JavaScript And Regular ExpressionsMozilla 雷鸟“FiltaQuilla”; JavaScript 和正则表达式
【发布时间】:2014-02-12 18:54:03
【问题描述】:

我有适用于 Thunderbird (http://mesquilla.com/extensions/filtaquilla/) 的 FiltaQuilla 插件,因为我想让自己能够移动与日期范围匹配的消息,并且消息的主题行可以匹配我指定的任何单词。使用 JavaScript 正则表达式找到匹配项。这个想法是,如果找到以下五个短语中的任何一个,则电子邮件将被放置在另一个文件夹中。

这是我要设置的过滤器:

/CST 205 | CST205 | CST205-01 | CST 205 Preparation | CST205-01_SP14/ig

它已经移动了一堆电子邮件,但留下了它不应该的电子邮件。以下是此脚本不应留下的电子邮件的主题行

  • 回复:CST205-01_SP14 继续加油!
  • 回复:CST 205 招聘

您能否帮助调整我的脚本以避免留下这些信息?

【问题讨论】:

    标签: javascript regex expression thunderbird thunderbird-addon


    【解决方案1】:

    做起来

    /CST 205|CST205|CST205-01|CST 205 Preparation|CST205-01_SP14/ig
    

    并且字符串之前/之后不再需要空格。此外,前两个表达式应该足够了,其余的仍然匹配它们的子集。您可以将它们缩短为

    /CST ?205/ig
    

    【讨论】:

    • 谢谢,这个脚本确实有效。但是,它在一个测试用例中失败了,我给自己发送了一封电子邮件,其中“CST”和“205”之间有 5 个空格。上面Tenub的回答通过了我所有的测试用例。非常感谢您的帮助!
    • 是的,为此您可以将?(可选)替换为*(重复)修饰符。您应该在问题中发布您的测试用例!
    • 对不起,我是在你们回答问题后编的。我应该在我的描述中说,我将测试比我列出的更多的内容,例如多个空格。感谢您指出这一点。
    【解决方案2】:

    有什么问题吗:

    /CST\s*?205/ig
    

    这将捕获其中包含“CST 205”的任何内容,字母和数字之间的空格数可选。

    【讨论】:

    • 您的回答成功了!我不敢相信我忘记考虑所有搜索词之间的共同点。菜鸟的错误,谢谢指正。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多