敏感词系统

297 阅读1分钟

敏感词系统

前提:
	敏感词库
主要功能:
	昵称含有敏感词,直接拒绝
    	评论或者聊天中含有的敏感词,替换为*
    	可以动态的更新敏感词库

字符串匹配

相关概念:
  主串(长度为n)
  模式串(长度为m)

单模式匹配
	BF算法(暴力匹配算法、朴素匹配算法)
    	在主串中,从起始位置0开始,一直到n-m为止,看看是否有和模式串匹配的子串
        最坏的时间复杂度是O(n*m)
    RK算法(优化了子串与模式串的比较)
    	把主串中的子串求哈希值和模式串的哈希值比较
    BM算法(通过找规律,可以让字符一次性多移动几位)
    	坏字符
        好后缀
    KMP算法(通过找规律,可以让字符一次性多移动几位)
    	坏字符
        好前缀
多模式匹配
	Trie树
    AC自动机
JDK中String#indexOf