grex
根据一组正向示例生成可读正则表达式的命令行工具,可将数字、空白、单词和重复片段归纳为更通用的匹配规则。
grex 适合解决什么问题
grex 根据用户提供的一组测试字符串生成正则表达式。它适合为日志编号、固定格式标识、文件名和重复文本结构快速构造候选规则,并能把数字、空白、单词或重复片段归纳成更通用的形式。它是正则生成助手,不是业务数据验证器。
为什么必须准备反例
工具只知道输入的正向示例,不知道哪些内容必须拒绝。样本不足时,表达式可能只记住现有字符串;过度归纳时,又可能接受超出业务范围的内容。可靠流程应同时保存正例、反例和边界输入,每次调整字符类、重复次数、忽略大小写或捕获组后都重新验证。
正则引擎兼容边界
项目以 PCRE 兼容语法和 Rust 正则语法为主要目标,其他引擎并未全面测试。JavaScript、Java、.NET、命令行工具和编辑器在转义、Unicode、锚点与部分高级语法上存在差异。最终表达式应在真正执行它的环境中验证,而不是只看 grex 的输出。
维护记录
本页于 2026-08-06 根据 grex 的示例驱动生成、字符类归纳、默认锚点和引擎兼容说明复核。归档文件为 v1.4.6 Windows x64 MSVC 压缩包。
保存到自己的网盘
打开网盘后可直接获取,也可以先保存到自己的网盘,方便换设备继续使用。
夸克网盘(无需提取码)
推荐将「grex」保存到该网盘
百度网盘
将「grex」保存到该网盘
grex Windows 正则表达式生成教程
先用少量不含隐私的正向示例生成最具体的表达式,再加入反例测试;只有确认边界正确后,才逐步启用数字、空白或单词归纳。
安装前准备
- 准备至少三条结构相同但取值不同的正向示例,以及几条明确不应匹配的反例。
- 明确最终使用的正则引擎,例如 JavaScript、.NET、Java、PCRE 或 Rust,记录其转义和功能差异。
- 示例中不要放入真实账号、令牌、手机号或其他不应进入终端历史的敏感数据。
安装步骤
- 01
解压 Windows 程序
将压缩包解压到固定工具目录,确认得到 grex 可执行程序,并保留版本信息以便脚本复现。
- 02
验证命令可运行
在 PowerShell 中通过完整路径查看帮助信息;需要长期使用时再把目录加入用户 PATH。
- 03
建立测试样本
使用虚构数据整理正向和反向样本,先在独立文本或测试脚本中保存预期结果。
快速上手
- 01
生成默认表达式
把多条正向示例作为参数交给 grex,先保留默认锚点和具体字符,检查每段结构与样例的对应关系。
- 02
测试正例与反例
将结果复制到目标程序或正则测试中,确认全部正例匹配、全部反例拒绝,并增加空字符串、超长输入和边界字符。
- 03
谨慎扩大匹配范围
只有需求明确时才启用数字、空白、单词或重复归纳选项;每调整一次都重新运行完整样本集。
使用建议
- 默认生成结果通常比高度归纳的表达式更保守,先保证正确再追求简短。
- 用版本化单元测试保存正例和反例,比只保存最终正则更容易发现规则回归。
- 面向不可信输入时还要评估目标引擎的性能,避免复杂表达式造成耗时过高。
故障排查与卸载方法
为什么生成结果只匹配示例,不匹配同类新数据?
默认表达式会偏具体。补充更多代表性样本,再有选择地把数字、空白或单词转换成字符类,不要一次性泛化所有片段。
在工具中有效,复制到代码后却报错怎么办?
检查目标语言的字符串转义、分隔符、Unicode 和锚点语义;以原始表达式为基准,逐层确认代码字符串实际传给引擎的内容。
- 删除程序与 PATH 项先确认脚本和自动化任务不再调用该目录,再移除用户 PATH 配置并删除解压文件;测试样本可随项目保留。
常见问题
grex 能保证生成的正则只匹配目标内容吗?
不能。默认结果会尽量具体并匹配全部正向示例,但未提供的反例和业务约束不会自动出现。正式使用前必须补充不应匹配的样本并在目标正则引擎中测试。
grex 生成的表达式适用于哪些正则引擎?
项目说明以 PCRE 兼容语法和 Rust 正则语法为目标,其他引擎没有全面验证。JavaScript、Java、.NET 或编辑器中的转义和特性可能不同,应在最终运行环境复测。
使用 grex 还需要了解正则表达式吗?
需要。grex 可以从样例构造候选表达式,但使用者仍需判断锚点、字符类、捕获组和重复范围是否符合业务规则,避免表达式过宽或过窄。
下载时需要提取码吗?
夸克网盘无需提取码;百度网盘所需的四位提取码会直接显示在下载入口旁。