sensitive

package
v1.61.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package sensitive 提供敏感词过滤(DFA 确定性有限自动机实现)。 特性:单次遍历 O(n) 匹配全部词条;内存占用与词条数线性;并发安全(构建后只读)。 场景:弹幕风控、昵称审核、评论过滤、内容安全。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Filter

type Filter struct {
	// contains filtered or unexported fields
}

Filter 敏感词过滤器(DFA)。 构建后并发安全:Add 与查询不可并发(典型用法:启动时构建完成再服务)。

func NewFilter

func NewFilter(words []string) *Filter

NewFilter 构建敏感词过滤器。

func (*Filter) Add

func (f *Filter) Add(word string)

Add 动态添加词条(空词忽略)。

func (*Filter) Contains

func (f *Filter) Contains(text string) bool

Contains 判断文本是否包含敏感词。

func (*Filter) Find

func (f *Filter) Find(text string) []string

Find 返回文本中命中的全部敏感词(去重,顺序按出现位置)。

func (*Filter) Replace

func (f *Filter) Replace(text string, mask rune) string

Replace 将命中的敏感词替换为 mask 字符(默认 '*' 取首字符)。

func (*Filter) Size

func (f *Filter) Size() int

Size 返回词条数量。

func (*Filter) Validate

func (f *Filter) Validate(text string) (bool, []string)

Validate 校验文本:通过返回 (true, nil);不通过返回 (false, 命中词列表)。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL