测试数据生成工具的算法之一,在数据生成过程中,可以通过正则语法设置字符串类型的文件以一种统一格式随机生成,包括但不限手机号,身份证,邮箱,等等
点击空白处退出提示
测试数据生成工具的算法之一,在数据生成过程中,可以通过正则语法设置字符串类型的文件以一种统一格式随机生成,包括但不限手机号,身份证,邮箱,等等
正则解析:支持解析标准正则表达式模式
随机生成:根据解析的正则生成匹配的随机字符串
字符范围支持:支持小写字母、大写字母、数字、下划线、空格等字符范围
灵活配置:可自定义字符串长度范围
语法检查:可选生成结果校验
分组支持:支持使用()进行分组操作
选择操作:支持使用|进行选择操作
核心实现:纯手写正则语法解析器,零外部正则库依赖
设计模式:组合模式(规则树)、策略模式(生成策略)、享元模式(字符范围对象池)
性能优化:JMH 基准测试验证,对象池复用,单字符级无回溯生成
工程化:JUnit 5 覆盖边界用例,Maven/Gradle 构建,可独立抽为 Spring Boot Starter
内存精细控制:针对 X* 或 X{n,m} 大范围量词,利用对象池返回 char[] 复用,避免百万次生成产生大量 Young GC,将 THP(吞吐量/内存比)做到极致。
线程安全与无锁设计:RegexGenerator 内部规则图不可变对象 + 线程封闭随机数生成器(ThreadLocalRandom),在高并发下无竞争,线性扩展。
分支覆盖度保证:通过加权采样 + 概率退让策略,避免分支样本倾斜,满足模糊测试对边缘分支的覆盖要求。




评论