Package org.miaixz.bus.core.text.dfa
Class Sensitive
java.lang.Object
org.miaixz.bus.core.text.dfa.Sensitive
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleancontainsSensitive(String text) 是否包含敏感词getFoundAllSensitive(String text) 查找敏感词,返回找到的所有敏感词getFoundAllSensitive(String text, boolean isDensityMatch, boolean isGreedMatch) 查找敏感词,返回找到的所有敏感词 密集匹配原则:假如关键词有 ab,b,文本是abab,将匹配 [ab,b,ab] 贪婪匹配(最长匹配)原则:假如关键字a,ab,最长匹配将匹配[a, ab]static FoundWordgetFoundFirstSensitive(String text) 查找敏感词,返回找到的第一个敏感词static void初始化敏感词树,使用逗号分隔每个单词static void初始化敏感词树static voidinit(Collection<String> sensitiveWords) 初始化敏感词树static voidinit(Collection<String> sensitiveWords, boolean isAsync) 初始化敏感词树static booleanisInited()static StringsensitiveFilter(String text) 处理过滤文本中的敏感词,默认替换成*static StringsensitiveFilter(String text, boolean isGreedMatch, SensitiveProcessor sensitiveProcessor) 处理过滤文本中的敏感词,默认替换成*static voidsetCharFilter(Predicate<Character> charFilter) 设置字符过滤规则,通过定义字符串过滤规则,过滤不需要的字符 当accept为false时,此字符不参与匹配
-
Field Details
-
DEFAULT_SEPARATOR
-
-
Constructor Details
-
Sensitive
public Sensitive()
-
-
Method Details
-
isInited
public static boolean isInited()- Returns:
- 是否已经被初始化
-
init
初始化敏感词树- Parameters:
sensitiveWords- 敏感词列表isAsync- 是否异步初始化
-
init
初始化敏感词树- Parameters:
sensitiveWords- 敏感词列表
-
init
-
init
初始化敏感词树,使用逗号分隔每个单词- Parameters:
sensitiveWords- 敏感词列表组成的字符串isAsync- 是否异步初始化
-
setCharFilter
-
containsSensitive
-
getFoundFirstSensitive
-
getFoundAllSensitive
-
getFoundAllSensitive
public static List<FoundWord> getFoundAllSensitive(String text, boolean isDensityMatch, boolean isGreedMatch) 查找敏感词,返回找到的所有敏感词 密集匹配原则:假如关键词有 ab,b,文本是abab,将匹配 [ab,b,ab] 贪婪匹配(最长匹配)原则:假如关键字a,ab,最长匹配将匹配[a, ab]- Parameters:
text- 文本isDensityMatch- 是否使用密集匹配原则isGreedMatch- 是否使用贪婪匹配(最长匹配)原则- Returns:
- 敏感词
-
sensitiveFilter
-
sensitiveFilter
public static String sensitiveFilter(String text, boolean isGreedMatch, SensitiveProcessor sensitiveProcessor) 处理过滤文本中的敏感词,默认替换成*- Parameters:
text- 文本isGreedMatch- 贪婪匹配(最长匹配)原则:假如关键字a,ab,最长匹配将匹配[a, ab]sensitiveProcessor- 敏感词处理器,默认按匹配内容的字符数替换成*- Returns:
- 敏感词过滤处理后的文本
-