如何高亮显示一段文字中的所有关键词?

如何高亮显示一段文字中的所有关键词?

我们使用大量常见垃圾邮件发送者短语列表作为垃圾邮件过滤系统的一部分。电子邮件主题或邮件正文中的任何匹配项都会使其直接进入我们的 Office 365 托管隔离区。

今天,我注意到我们的第一个误报被发送到托管隔离区。我想找出哪些单词或短语与短语列表中的某些内容相匹配,以便我可以将其从列表中删除,但找不到它(由于我们现在列表中有大量关键字和短语)。

目前所有内容都在记事本文档中。我考虑过使用 Beyond Compare,但不知道它在这种情况下如何工作。

如何突出显示原始消息和关键字/短语列表之间的匹配?

答案1

如果每个关键短语都在单独的行上,那么最简单的方法是使用批处理文件:

@echo off
(for /F "tokens=*" %%i in (keywords.txt) do findstr /C:"%%i" /N /I message.txt) > result.txt

另存为filter.bat并从命令行运行。keywords.txt是带有关键字的文件名,例如

spammer1
spammer2
mr. spammer3

并且message.txt应该包含以下信息:

Hi, I am spammer2. Give me money

regards,
Mr. spammer3

脚本运行后,匹配的行号将会输出在results.txt

1:Hi, I am spammer2. Give me money
4:Mr. spammer3

相关内容