正则表达式字符串生成工具开源项目

我要开发同款
proginn21221721062026年04月24日
19阅读

技术信息

语言技术
Java
系统类型
算法模型
行业分类
开发工具
开源地址
https://gitee.com/zhangmeng776/str-regex-gen
授权协议
MIT许可

行业场景

测试数据生成工具的算法之一,在数据生成过程中,可以通过正则语法设置字符串类型的文件以一种统一格式随机生成,包括但不限手机号,身份证,邮箱,等等

功能介绍

正则解析:支持解析标准正则表达式模式
随机生成:根据解析的正则生成匹配的随机字符串
字符范围支持:支持小写字母、大写字母、数字、下划线、空格等字符范围
灵活配置:可自定义字符串长度范围
语法检查:可选生成结果校验
分组支持:支持使用()进行分组操作
选择操作:支持使用|进行选择操作

项目实现

核心实现:纯手写正则语法解析器,零外部正则库依赖
设计模式:组合模式(规则树)、策略模式(生成策略)、享元模式(字符范围对象池)
性能优化:JMH 基准测试验证,对象池复用,单字符级无回溯生成
工程化:JUnit 5 覆盖边界用例,Maven/Gradle 构建,可独立抽为 Spring Boot Starter

内存精细控制:针对 X* 或 X{n,m} 大范围量词,利用对象池返回 char[] 复用,避免百万次生成产生大量 Young GC,将 THP(吞吐量/内存比)做到极致。
线程安全与无锁设计:RegexGenerator 内部规则图不可变对象 + 线程封闭随机数生成器(ThreadLocalRandom),在高并发下无竞争,线性扩展。
分支覆盖度保证:通过加权采样 + 概率退让策略,避免分支样本倾斜,满足模糊测试对边缘分支的覆盖要求。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论