【发布时间】:2020-08-30 02:14:34
【问题描述】:
我们的 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
非常感谢任何帮助。提前致谢!! :)
【问题讨论】:
-
好问题,您找到解决方案了吗?我也有同样的问题。
标签: ruby-on-rails regex string pattern-matching aho-corasick