sensitive-rs

Sensitive-rs

简体中文 English

Build crates.io docs.rs License Downloads

一个高性能的 Rust 库,用于多模式字符串查找、验证、过滤和替换。

功能

安装

Cargo.toml 中添加:

[dependencies]
sensitive-rs = "0.8.0"

快速开始

use sensitive_rs::Filter;

fn main() {
    let mut filter = Filter::new();
    filter.add_words(&["rust", "filter", "敏感词"]);

    let text = "hello rust, this is a filter demo 包含敏感词";
    let found = filter.find_all(text);
    println!("匹配到:{:?}", found);

    let cleaned = filter.replace(text, '*');
    println!("过滤后:{}", cleaned);
}

进阶用法

批量处理:

let texts = vec!["文本 1", "文本 2"];
let results = filter.find_all_batch( & texts);

分层匹配:

let layered = filter.find_all_layered("一些长文本");

流式处理大文件:

use std::fs::File;
use std::io::BufReader;

let reader = BufReader::new(File::open("large.txt") ? );
let stream_results = filter.find_all_streaming(reader) ?;

CLI 使用

启用 cli 功能安装:

[dependencies]
sensitive-rs = { version = "0.8.0", features = ["cli"] }

或直接安装:

cargo install sensitive-rs --features cli

安装后可使用 sensitivesensitive-rs 两个命令。

命令

# 查找敏感词
sensitive check "含有赌博和色情内容"

# 验证文本(发现敏感词时 exit 1)
sensitive validate "干净文本"

# 替换敏感词
sensitive replace '*' "含有赌博内容"

# 移除敏感词
sensitive filter "含有赌博内容"

# 从文件读取
sensitive check --file input.txt

# 从 stdin 管道读取
echo "文本" | sensitive check

选项

文档

详细文档请参阅 Documentation.

许可证

可以选择下列任意一种许可证:

贡献

除非您明确声明,否则您有意提交的任何贡献将根据 Apache-2.0 或 MIT 许可证的定义,按上述双重许可进行许可,不附加任何其他条款或条件。