piapia123
zh

按正则表达式生成示例数据

网络

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

写正则真正花时间的常常不是写,而是造几条能测它的数据 —— 多个子域、连字符、可选分组这些边界,手编很容易漏。这个工具按正则本身的结构造数据,造出来的每一条都保证匹配。 安全性上它有一条硬规矩:每生成一条就用真正的正则引擎回验一次,有一条对不上就报内部错误、绝不把样本交给你 —— 因为你是拿这些数据去测自己的正则的,一条“看起来像但实际不匹配”的样本比一句报错危险得多。 只支持生成器认识的那部分语法(字面量、字符组、量词、分组、选择、`\d \w \s` 等)。环视、反向引用、命名组这些会明确报错,而不是悄悄给你一条错的数据。 全部在浏览器本地完成,正则与生成的样本都不离开这个页面。

功能

  • 一行一个正则,可一次生成多个模式的数据
  • 支持的语法:字面量、`.`、字符组 `[a-z]` `[^0-9]`、量词 `* + ? {n,m}`、分组、选择 `|`、`\d \w \s` 及其大写
  • 锚点 `^ $` 在生成时忽略,样本仍然由真引擎回验
  • 每一条样本都用 `new RegExp` 回验,确保确实匹配
  • 不支持的语法(环视、反向引用、命名组、`\b`、`\p{…}`)会明确报错
  • 字符集偏好:ASCII、纯数字、中文、含标点
  • 可填随机种子复现同一批数据
  • 每条可单独复制,也可复制全部

使用方法

  1. 一行输入一个正则表达式(可多行)
  2. 按需要调整每行条数、总上限与字符集偏好
  3. 结果区逐条列出样本,绿色表示已回验匹配
  4. 需要复现就填一个随机种子

常见问题

生成的样本一定匹配吗?
一定。每生成一条都会用真正的正则引擎(`new RegExp`)再测一次,只有匹配才交给你。生成器负责“造”,真引擎负责“验”,两者分开,避免自己验自己。
为什么有些正则直接报错?
环视 `(?=`、反向引用 `\1`、命名组 `(?<name>`、单词边界 `\b`、Unicode 属性 `\p{…}` 这些生成器没有实现。与其“尽量猜”出一条对不上的数据,不如明确告诉你哪个语法不支持 —— 你是拿它去测正则的,错的数据会误导你。
为什么要用随机种子?
随机生成的数据每次都不一样,写文档、录演示、跟同事复现同一个 bug 时不方便。填一个种子就会得到固定的一批 —— 但请记住它是伪随机,不能用来生成密码或密钥。
数据会上传吗?
不会。正则解析、随机生成、回验全部在浏览器里完成,不请求任何接口,断网也能用。

相关工具