正则生成器在线 - AI 根据自然语言生成正则表达式

输入自然语言需求,在线生成可复制的正则表达式,并获得匹配解释、测试用例和常见误匹配提示。

功能特点

  • 根据业务描述生成邮箱、URL、日期、日志字段等正则
  • 输出正则逻辑解释、正反测试用例和误匹配风险
  • 把自然语言需求拆成允许项、排除项、边界长度和目标引擎,再生成可回测的候选规则
  • 支持 JavaScript、Python、PCRE 等常见正则风格

使用方法

  1. 描述需要匹配或排除的文本规则
  2. 选择正则引擎并补充标志和边界条件
  3. 检查测试用例后复制正则到代码或调试工具

示例输入

  • 排除指定邮箱域名

    匹配邮箱,但排除 qq.com 和 example.org

    适合生成带负向判断的邮箱规则,并检查域名大小写和子域名边界。 生成表达式是说明性候选,会随需求描述和模型响应变化,必须用样本验证。

  • 提取 Nginx 状态码

    从 Nginx access log 中提取 HTTP 状态码和请求路径

    适合先描述日志格式,再用测试用例验证空格、引号和异常路径。 生成表达式是说明性候选,会随需求描述和模型响应变化,必须用样本验证。

  • 日期格式校验

    匹配 2026-07-19 格式的日期,但月份和日期必须两位

    适合生成格式初稿;真实日期是否合法仍需要日期解析逻辑验证。 生成表达式是说明性候选,会随需求描述和模型响应变化,必须用样本验证。

  • 允许项与排除项并列

    允许:订单号 ORD- 加 8 位数字
    排除:测试号 ORD-00000000
    引擎:JavaScript

    适合把允许格式、明确排除项和目标引擎一起交给生成器,减少只根据单个正例生成过宽规则。 生成表达式是说明性候选,会随需求描述和模型响应变化,必须用样本验证。

  • 本地密码规则与最小长度

    password:必须包含大小写字母和数字
    最小长度:12

    本地生成分支会根据 password 和最小长度生成候选;AI 生成则会把描述、引擎和 flags 发送到后端,结果必须分别验证。 生成表达式是说明性候选,会随需求描述和模型响应变化,必须用样本验证。

示例输出

  • 排除指定邮箱域名

    ^(?![^@]+@(?:qq\.com|example\.org)$)[^\s@]+@[^\s@]+\.[^\s@]+$
  • 提取 Nginx 状态码

    "(?<method>[A-Z]+) (?<path>\S+) [^\"]+" (?<status>\d{3})
  • 日期格式校验

    ^\d{4}-\d{2}-\d{2}$
  • 允许项与排除项并列

    ^ORD-(?!00000000)\d{8}$(候选规则;仍需在 JavaScript 中用正反例和业务样本验证)
  • 本地密码规则与最小长度

    ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{12,}$

常见错误

  • 自然语言需求不明确时,生成结果可能只覆盖示例,不覆盖完整业务边界。
  • 正则可以校验字符串格式,但不能单独证明日期、邮箱或 URL 在业务上有效。
  • 不同语言的转义、命名分组和 Unicode 支持不同,复制前要确认运行环境。
  • 生成器输出的是候选表达式,不是业务结论;必须由人工补充反例、目标引擎和性能约束。

适用场景

  • 邮箱正则生成
  • 日志字段提取
  • 表单校验规则
  • 排除域名匹配

实操检查

  • 验证本地邮箱模式

    固定输入:描述 `match email`、最小长度 `8`、生成方式“生成正则”。步骤:打开 Regex Generator,填写描述,点击“生成正则”,读取输出框。预期结果:输出为 `^[\w.%+-]+@[\w.-]+\.[A-Za-z]{2,} 正则生成器在线 - AI 根据自然语言生成正则表达式 | ToolByte 。失败判断:输出为空、未生成该表达式,或页面出现错误。

  • 验证 AI 请求边界

    固定输入:描述 `abc`,其余保持默认。步骤:点击“AI 生成正则”。预期结果:页面不发送生成请求,并提示先描述需要匹配的内容,因为描述长度小于 6。失败判断:仍向 `/api/ai/regex/generate` 发起请求,或没有提示。

页面专属核验

使用前与操作中

  • 先写清允许项、排除项、边界长度和目标引擎;本地生成器只按常见关键词选择内置模板,未识别的描述会回退到邮箱模板,不能替代需求澄清。
  • 区分本地初稿与 AI 生成:本地路径只对密码模板使用 `minLength`,页面选择的 engine/flags不会改变本地表达式;AI 路径会发送描述、引擎和 flags 到后端。
  • 把生成结果送入正则测试器,用正例、反例、空值、超长、Unicode 和边界值验收;自然语言解释、测试用例和误匹配提示都需要人工复核。

结果出来后

  • 描述邮箱、日期、Nginx IP 或密码时,输出是否确实命中预期内置模板;描述未覆盖的规则是否被发现为回退而非误认为定制生成?
  • AI 返回的表达式是否能在所选引擎和 flags 下编译,并对必须排除的域名、日期合法性或日志边界给出真实反例?
  • 复制前是否核对整串/局部匹配、捕获组、字符串转义和性能,并确认生成器的候选结果不是业务校验或授权规则本身?

相关工具

  • 正则测试器:测试正则表达式、匹配结果和分组
  • 正则解释器:拆解正则元素,并用 AI 解释匹配逻辑、测试用例和误匹配风险
  • 正则模板库:Email、URL、手机号、IPv4、日期、UUID 等常用正则库
  • 正则校验:Email、URL、手机号、IPv4、日期等独立校验集合

工具边界

  • 自然语言生成只能提供候选规则,不能保证覆盖完整业务边界。
  • 生成结果受模型与描述影响,并可能使用目标引擎不支持的语法。

与相似工具的区别

  • 正则模板库:生成器根据新需求给出定制候选;模板库提供已知字段的起点,需求接近常见格式时更快也更可预测。

安全与兼容性

  • 需求文本会发送给 AI 服务,提交前应移除客户样本、内部路径和访问凭据。
  • 上线前必须在目标正则引擎验证正反例,并对超长近似失败输入检查回溯与 ReDoS 风险。

下一步排查

  1. 先把候选表达式放回正则测试器,用正例、反例和边界样本检查匹配范围。
  2. 再用 Regex Flavor 对照目标语言的命名组、环视、Unicode 和转义限制。
  3. 上线前用 Regex Benchmark 测试长度增长和近似失败输入,并由人工确认业务规则。

常见问题

生成的正则可以直接用于生产吗?

建议先用真实样本和反例测试,再确认运行引擎、性能和 ReDoS 风险。

为什么需要提供反例?

反例能帮助模型明确哪些内容必须排除,减少过宽匹配和误匹配。

为什么生成结果需要重新测试?

自然语言到正则存在歧义,模型可能遗漏边界、使用目标引擎不支持的语法或产生高回溯表达式;必须回到测试器和真实运行时验证。