2 个回答

1.首先对文章进行分词
2.然后每个分词进去与关键词池存在分词,进行多个分词组合判断,比如百度一下分词分成可能是“百度”“一下”进行匹配
3.如果关键词池存在分词,进行多个分词组合判断,比如百度一下分词分成可能是“百度”,“一下”,那我进进行当前分词和下一个分词进制组合检查关键词池中是否存,存在就继续组合检测,不存在就记录当前分词,并记录改分词已经匹配,下一次匹配到匹配到的就忽略掉

从需求上分析,如果是长期需求,不建议直接用正则来做,这个逻辑比较绕,后期维护是问题;如果是短期的就往下看吧。
一方面需要对关键词池进行处理,分组,比如关键词中有百度和百度一下,就放一起;但这里注意可能冗余,比如百度一下和一下也是一组这种情况;这种可以在后处理搞定;
对比过程中,实时记录情况就行,而且java的regex包的Matcher本身就可以去findFirst,满足你现在的要求;
对比过程之后,就是后处理,需要把结果再收拢并检查一遍。
整个对代码规范要求较高

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题