我们的 ruby on rails 应用程序使用 aho corasick gem 来查找任何给定的文本是否包含任何预先列出的坏词(这些是在加载应用程序时从静态配置中挑选出来的)。
但是,使用它会产生一些误报。例如,如果我在配置中的坏词是“abc”,那么包含“habcd”的文本也会被标记,这不是本意。
因此,我尝试将配置词从“abc”更改为“abc”(在单词前后添加空格)。但是,这有另一个缺点,即“abc is xyz”之类的文本将不会被标记,因为它应该是。所以,我还必须在我的配置中添加另外 2 个单词 - “abc”和“abc”,同样我需要在我的配置中添加“-abc”、“abc-”、“:abc”等,使配置相当大,因为除了 abc 之外还有很多这样的词。
因此,我在想是否可以在我的配置中输入某种正则表达式,例如 [",-" "]abc[",-" "] 以便涵盖上述所有情况并且不会出现误报被发现。
我们使用 gem 'aho_corasick', '0.1.0' , ruby - 1.9.3 和 rails - 3.2.8
任何帮助是极大的赞赏。提前致谢!!:)