Skip to content
返回 AI 编程

正则生成

从意图 + 测试对生成并解释正则;绝不发布未解释正则。

代码生成进阶

为什么

GitHub 2024 Octoverse 报告显示生成式 AI 项目贡献量激增 59%,平台 AI 项目总数增长 98%。正则写一次永不读因不透明。

从意图 + 测试对生成并要求解释,使其可审计可编辑 — 测试证明匹配意图。

何时使用

任何需非平凡正则时用。平凡字面匹配跳过。

如何做

1. 用文字声明意图("匹配 slug:小写字母、数字、连字符;非全连字符")。 2. 给 3+ 匹配/不匹配示例。 3. 问:"写正则 + 解释每组;对示例验证"。 4. 将示例加为单测。 5. 代码中用意图注释正则。

示例

意图:"slug:[a-z0-9-]+,3-63 字符,不以 - 开头/结尾" 示例:"abc-1" ✓、"-abc" ✗、"abc-" ✗、"a" ✗(太短)、"ABC" ✗ 正则:/^(?=[a-z0-9])[a-z0-9-]{3,63}(?<=[a-z0-9])$/ 测试断言每示例;代码注释重述意图。

常见问题

  • ⚠生成代码编译失败:"SyntaxError: Unexpected token" → 要求模型输出含正确 import 的完整文件;用 `npx tsc --noEmit` 验证。
  • ⚠错误:幻觉 API:模型调用不存在的函数 → 对照真实库文档检查并在 package.json 锁定版本。
  • ⚠Error: Cannot find module 'xxx' → `npm install xxx`;生成代码常导入项目尚未安装的包。

最佳实践

  • ✓非平凡正则始终要求解释与意图注释。
  • ✓用匹配/不匹配单测固定正则。
  • ✓用具体指标衡量结果(节省时间、缺陷率、测试覆盖率),使实践可被论证和改进。

常见问题解答

什么是正则生成?

从意图 + 测试对生成并解释正则;绝不发布未解释正则。 它可帮助开发者快速理解 正则生成 的核心价值与适用场景。

如何开始使用正则生成?

开始使用 正则生成,建议先掌握以下要点:用文字声明意图("匹配 slug:小写字母、数字、连字符;非全连字符")。

正则生成 的常见误区有哪些?

使用 正则生成 时常遇到的问题包括:生成代码编译失败:"SyntaxError: Unexpected token" → 要求模型输出含正确 import 的完整文件;用 `npx tsc --noEmit` 验证。;错误:幻觉 API:模型调用不存在的函数 → 对照真实库文档检查并在 package.json 锁定版本。;Error: Cannot find module 'xxx' → `npm install xxx`;生成代码常导入项目尚未安装的包。。

正则生成 的最佳实践是什么?

正则生成 的最佳实践包括:非平凡正则始终要求解释与意图注释。;用匹配/不匹配单测固定正则。;用具体指标衡量结果(节省时间、缺陷率、测试覆盖率),使实践可被论证和改进。。

如何深入学习正则生成?

从官方文档入手,再在 GitHub 上搜索真实示例;先在小实验仓库验证模式,再应用到生产代码。