使用Regex替换的错误单词elemination



我需要在文件列表中执行基于内容/关键字的搜索。为此,我需要提取keywords并将它们存储在MySQL数据库中。关键字以以下方式提取:

  • 读取文件内容
  • 使用删除特殊字符和额外的空白(如果有的话)

    Regex.Replace(input, "[^a-zA-Z0-9_]+", " ")

  • 删除am/is/are/be/being/been/have/has/having/had/do/does/doing/did/adjectivesphrasesAdverbs等。

  • 删除结尾,如:

    -IC-ATION   fortification
    -IC-ITY     electricity
    -IC-MENT    fantastically
    -AT-IV      contemplative
    -AT-OR      conspirator
    -IV-ITY     relativity
    -IV-MENT    instinctively
    -ABLE-ITY   incapability
    -ABLE-MENT  charitably
    -OUS-MENT   famously
    

我能用一个Regular expression完成整个操作吗?他们有最简单的方法吗?这里我有一个参考算法,用于这个操作。

我认为不可能只使用正则表达式来实现词干算法。也许您应该看看已经存在的实现来获得想法。以下是VB.net 中Porter词干算法的链接

最新更新