正则生成
从意图 + 测试对生成并解释正则;绝不发布未解释正则。
代码生成进阶
为什么
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 上搜索真实示例;先在小实验仓库验证模式,再应用到生产代码。