摘要:让大模型写正则或 SQL 时,最怕「看起来对、一跑就错」。本文给出约束型提示词写法、正负样例驱动,以及对照官方文档做结果验收的清单;覆盖 Python/JS 正则与 SQL LIKE/~ 等常见场景。只放官网普通链接;无联盟推广。

依据:MDN《正则表达式》、Python re 文档、PostgreSQL Pattern Matching、Microsoft Learn《LIKE (Transact-SQL)》、GitHub Docs《Prompt engineering for Copilot Chat》。查询日期:2026-10-16(北京时间)。工具可替换,不绑定某一家模型;只放官网/帮助中心普通链接(affiliate_later)。

本站已有 AI 生成 Excel 公式与数据清洗(电子表格公式)和 用 AI 辅助写代码:新手避坑。本文换一条线:正则表达式 + SQL 查询——两者都「看起来像自然语言、错了却很难肉眼看出来」。通用提示词框架见 提示词怎么写;交付前防幻觉见 大模型幻觉怎么防。

用 AI 写正则与 SQL:约束写法、样例驱动与结果验收清单(2026)-有序
GitHub Docs:Prompt engineering for Copilot Chat——先概括目标再列具体要求(官方文档截图,2026-10-16)

一、为什么正则/SQL 特别容易被 AI「写得像对」

坑典型表现后果
方言混用把 PostgreSQL 的 ~ 写进 MySQL;把 JS /pattern/ 当 Python 字符串直接语法错误或静默匹配失败
样例过少只给 1 条「能匹配」的例子漏掉边界:空串、全角数字、换行、重复匹配
贪心/非贪心.* 吃到行尾;SQL LIKE '%x%' 扫全表性能事故或误伤半条日志
转义幻觉编造 \d 在某引擎「一定支持」;或漏写 raw stringPython 字符串与正则双重转义翻车
语义偷换「提取手机号」写成「任意 11 位数字」校验通过、业务错误

敏感日志、身份证、未脱敏库表不要贴进公有模型,见 AI 工具的数据隐私。

二、约束写法:提示词里先钉死「引擎 + 输出格式」

GitHub 官方提示工程建议:先概括目标,再列具体要求(Start general, then get specific)。落到正则/SQL,建议每次至少钉死这五项:

  1. 引擎/方言:Python re / JavaScript / PostgreSQL POSIX / T-SQL LIKE / …
  2. 任务一句:匹配、提取、替换、过滤行,还是写完整 SELECT。
  3. 输入形态:单行还是多行;字段名与类型;是否 UTF-8。
  4. 正负样例:≥3 条应匹配 + ≥2 条不应匹配(可用假数据)。
  5. 输出契约:只给表达式/SQL;禁止编造不存在的函数;附「我如何自测」三步。

正则约束模板(可直接改):

你是正则助手。引擎=【Python 3 re / JS / 其他】。
任务:【从文本提取/校验什么】。
硬性约束:
1) 只输出 1 个正则 + 3 行说明(捕获组含义、标志位、失败时行为);
2) 不要使用该引擎不支持的语法;拿不准就写「需查官方文档某某节」而不是猜;
3) 下面「应匹配」必须全中,「不应匹配」必须全不中;
4) 不要匹配我没要求的字段。
应匹配:
- ...
不应匹配:
- ...

SQL 约束模板:

你是 SQL 助手。方言=【PostgreSQL 16 / SQL Server / MySQL 8】。
表结构:【列名 类型,可假数据】。
任务:【过滤/聚合/窗口一句】。
硬性约束:
1) 只输出 1 条可执行 SQL;不要编造函数;
2) 模式匹配:优先说明用 LIKE 还是正则运算符(如 PG 的 ~ / ~*);
3) 给出用 5 行样例自测的预期结果表;
4) 不要 SELECT * 扫全库除非我明确要求。
用 AI 写正则与 SQL:约束写法、样例驱动与结果验收清单(2026)-有序
MDN:正则是用于匹配字符组合的模式;可用 RegExp.exec/test 与 String.match 等(2026-10-16 截图)

三、样例驱动:先写验收表,再让 AI 填表达式

不要先问「帮我写个邮箱正则」。先列一张迷你验收表(可放进提示词):

#输入样例期望
1user@example.com匹配 / 提取 domain=example.com
2user@example不匹配
3用户@例子.公司【按你业务决定:拒或收】并写清

让 AI 对着表交答案;你再用引擎跑一遍。MDN 写明可用 test/match 等方法验证;Python 文档强调 raw string(r"...")避免反斜杠被字符串层吃掉。

用 AI 写正则与 SQL:约束写法、样例驱动与结果验收清单(2026)-有序
Python 文档 re:模式与字符串类型须一致;推荐 raw string 处理反斜杠(官方文档截图)
用 AI 写正则与 SQL:约束写法、样例驱动与结果验收清单(2026)-有序
MDN:使用正则——exec/test/match 等方法对照表(官方文档截图)

SQL 侧先分清两层:

  • 通配符:T-SQL / 多数方言的 LIKE(% _),见 Microsoft Learn 语法页。
  • 正则:例如 PostgreSQL 的 ~ / ~* / !~ / !~*(POSIX),与 LIKE 不是同一套语法。
用 AI 写正则与 SQL:约束写法、样例驱动与结果验收清单(2026)-有序
Microsoft Learn:LIKE 语法与参数——match_expression LIKE pattern(官方文档截图)
用 AI 写正则与 SQL:约束写法、样例驱动与结果验收清单(2026)-有序
PostgreSQL:POSIX 正则运算符 ~ / ~* / !~ / !~* 与示例(官方文档截图)

AI 若把 LIKE '%\d+%' 和 ~ '\d+' 混在同一方言里,就是红灯——对照上表打回重写。

四、结果验收清单(上线前勾)

  1. □ 方言一致:表达式能在目标引擎直接跑,无「邻居方言」函数。
  2. □ 正负样例全过:应匹配全中、不应匹配全不中;补测空串、超长、Unicode。
  3. □ 捕获组/列名:提取任务核对组号或别名;SQL 核对数与类型。
  4. □ 性能粗看:前导 % 的 LIKE、无锚点的 .* 是否会扫爆;大数据先 LIMIT 试跑。
  5. □ 对照官方页:元字符、标志位、LIKE 与正则运算符以本文链接的文档为准,不凭模型记忆。
  6. □ 无敏感数据进提示词:用假样例;真数据只在本地跑测。
  7. □ 人工抽查边界:换行、全角数字、重复匹配、大小写(~* vs ~)。

和表格场景一样,复杂逻辑可先在 WPS AI 表格分析 或本地脚本里用小样验证,再铺到全量。编程工具选型见 Cursor / Copilot / 通义灵码怎么选。

五、相关阅读

来源(查询 2026-10-16):MDN 正则指南;Python re;PostgreSQL Pattern Matching;Microsoft Learn LIKE;GitHub Copilot prompt engineering。