当前位置: 首页 > news >正文

敏感词 v0.25.0 新特性之 wordCheck 策略支持用户自定义

开源项目

敏感词核心 https://github.com/houbb/sensitive-word

敏感词控台 https://github.com/houbb/sensitive-word-admin

版本特性

大家好,我是老马。

敏感词一开始了内置了多种检验策略,但是很多用户在使用的过程中希望可以自定义策略。

所以 v0.25.0 开始,支持用户对部分策略进行自定义实现。

快速开始

maven 引入

<dependency><groupId>com.github.houbb</groupId><artifactId>sensitive-word</artifactId><version>0.25.0</version>
</dependency>

配置说明

v0.25.0 目前的几个策略,也支持用户引导类自定义。

所有的策略都是接口,支持用户自定义实现,自己在

序号方法说明默认值
16wordCheckNum数字检测策略(v0.25.0开始支持)WordChecks.num()
17wordCheckEmail邮箱检测策略(v0.25.0开始支持)WordChecks.email()
18wordCheckUrlURL检测策略(v0.25.0开始支持),内置还是实现了 urlNoPrefix()(WordChecks.url()
19wordCheckIpv4ipv4检测策略(v0.25.0开始支持)WordChecks.ipv4()
20wordCheckWord敏感词检测策略(v0.25.0开始支持)WordChecks.word()

内置实现:

a) WordChecks.urlNoPrefix() 作为 url 的额外实现,可以不需要 https://http:// 前缀。

自定义使用的例子

下面是一个简单使用自定义策略的例子

final String text = "点击链接 https://www.baidu.com 查看答案,当然也可以是 baidu.com、www.baidu.com";
final SensitiveWordBs sensitiveWordBs = SensitiveWordBs.newInstance().enableUrlCheck(true) // 启用URL检测.wordCheckUrl(WordChecks.urlNoPrefix()) //指定检测的方式.init();
List<String> wordList = sensitiveWordBs.findAll(text);
Assert.assertEquals("[www.baidu.com, baidu.com, www.baidu.com]", wordList.toString());
Assert.assertEquals("点击链接 https://************* 查看答案,当然也可以是 *********、*************", sensitiveWordBs.replace(text));

wordCheckUrl 可以指定对应的策略,如果不满足业务可以自己实现。

小结

希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。

我是老马,期待与你的下次相遇。

敏感词系列

sensitive-word-admin 敏感词控台 v1.2.0 版本开源

sensitive-word-admin v1.3.0 发布 如何支持分布式部署?

01-开源敏感词工具入门使用

02-如何实现一个敏感词工具?违禁词实现思路梳理

03-敏感词之 StopWord 停止词优化与特殊符号

04-敏感词之字典瘦身

05-敏感词之 DFA 算法(Trie Tree 算法)详解

06-敏感词(脏词) 如何忽略无意义的字符?达到更好的过滤效果

v0.10.0-脏词分类标签初步支持

v0.11.0-敏感词新特性:忽略无意义的字符,词标签字典

v0.12.0-敏感词/脏词词标签能力进一步增强

v0.13.0-敏感词特性版本发布 支持英文单词全词匹配

v0.16.1-敏感词新特性之字典内存资源释放

v0.19.0-敏感词新特性之敏感词单个编辑,不必重复初始化

v0.20.0 敏感词新特性之数字全部匹配,而不是部分匹配

v0.21.0 敏感词新特性之白名单支持单个编辑,修正白名单包含黑名单时的问题

v0.23.0 敏感词新特性之结果条件拓展,内置支持链式+单词标签

v0.24.0 新特性支持标签分类,内置实现多种策略

相关文章:

  • 【安装指南】Chat2DB-集成了AI功能的数据库管理工具
  • 论文阅读笔记——TesserAct: Learning 4D Embodied World Models
  • 【安装指南】Centos7 在 Docker 上安装 RabbitMQ4.0.x
  • 【无需docker】mac本地部署dify
  • AI Rack架构高速互连的挑战:损耗设计与信号完整性的设计框架
  • 在运行 Hadoop 作业时,遇到“No such file or directory”,如何在windows里打包在虚拟机里运行
  • 计算机网络 - stp生成树实验
  • 【现代深度学习技术】现代循环神经网络03:深度循环神经网络
  • MCP 探索:微软 Microsoft MarkItDown MCP ,可把 Word、Excel 等转换成 MarkDown 格式
  • sys目录介绍
  • 基于YOLOV5的目标检测识别
  • 多模态人工智能研究:视觉语言模型的过去、现在与未来
  • 【Git】万字详解 Git 的原理与使用(上)
  • 第 13 届蓝桥杯 C++ 青少组省赛中 / 高级组 2022 年真题
  • 【东枫电子】AMD / Xilinx Alveo™ UL3422 加速器
  • 【愚公系列】《Manus极简入门》012-自我认知顾问:“内在探索向导”
  • Golang 身份证号码校验
  • 【优选算法 | 位运算】位运算基础:深入理解二进制操作
  • ASP.NET MVC​ 入门与提高指南七
  • < 自用文 Texas style Smoker > 美式德克萨斯烟熏炉 从设计到实现 (第一部分:烹饪室与燃烧室)
  • 朝中社:美在朝鲜半岛增兵将进一步增加其本土安全不确定性
  • 拍摄《我们这一代》的肖全开展“江浙沪叙事”
  • 国务院食安办:加强五一假期食品生产、销售、餐饮服务环节监管
  • “五一”假期逛上海车展请提前购票,展会现场不售当日票
  • 广东省副省长刘红兵跨省调任湖南省委常委、宣传部长
  • 解放日报:上海深化改革开放,系统集成创新局