grex
项目核心内容总结:
grex 是一个基于 Rust 开发的工具,用于从一组输入字符串自动生成对应的正则表达式。其核心功能包括:
- 正则生成:通过 DFA 最小化和 Brzozowski 代数方法,将输入字符串转换为精确的正则表达式,支持多种字符集替换(如
-d数字、-s空格、-w单词字符等)和转义选项(-eUnicode 转义)。 - 多平台支持:提供命令行工具、Python 扩展模块(通过 PyO3 和 Maturin 构建)及 WebAssembly 版本,适用于浏览器或 Node.js 环境。
- 灵活配置:支持重复字符合并(
-r)、选项组合(如-drsw同时启用数字、空格、单词字符替换和重复优化),并兼容复杂字符(如 emoji、阿拉伯数字等)。 - 高效构建:通过 Cargo 管理 Rust 代码,支持单元测试、基准测试及跨平台编译(包括 WASM)。
使用方法:
- 命令行:
grex <输入字符串>或grex -e -r <输入字符串>添加选项。 - Python:安装
pip install grex后,使用from grex import RegExpBuilder构建正则。 - WebAssembly:通过
wasm-pack编译后,在 JavaScript 中调用生成的RegExpBuilder。