那段没人敢动的正则,终于有了说明书——我把AI解析定成了团队改代码前的必经流程
一、一段正则引发的线上事故隐患
我们团队维护着一个老项目,里面躺着几百条正则表达式:校验手机号、身份证、邮箱、URL 重写规则、日志字段提取……其中不少是多年前某位早已离职的同事写的,一行两百多个字符,零注释,零测试用例。
管理者最怕的不是技术难题,而是“没人敢碰的代码”。有一次运营反馈某类手机号校验不通过,我在群里问了一圈,没人能确定那段正则的边界逻辑改了会不会影响别的通道。最后只能让一位资深同事花了一整天,手工拆解、逐段验证,才敢提交一个两字符的修改。
这不是个案。正则表达式是典型的“写时一时爽,读时火葬场”:
- 认知断层:写的人和读的人往往不是同一批人,知识没有沉淀;
- 风险不透明:改一个字符可能影响隐藏的分组、断言,肉眼根本看不出来;
- 文档缺失:测试用例不全,回归靠拍脑袋。
后来我定了一条规矩:凡是动正则,必须先过 AI 解析这道工序,输出结构化说明和边界用例,评审通过才能改代码。 这篇文章就分享这套流程,以及它给团队带来的变化。
二、AI 能在这件事上做什么
先说清楚定位:AI 不是替你改正则的自动机器,而是把“只有一个人脑里有”的隐式知识,变成团队共享的显式资产。具体能做四件事:
- 结构化拆解:把一长串正则按分组、断言、量词逐段解释,标注每一段的意图;
- 边界用例生成:自动生成应该匹配和不应该匹配的示例串,覆盖典型边界(空串、特殊字符、超长输入);
- 风险点提示:指出潜在的回溯陷阱、贪婪匹配歧义、字符集遗漏等隐患;
- 反向生成:你描述需求,它给出候选正则并附带验证用例,供人工确认。
第四点要特别强调:反向生成必须配人工确认,正则这种精确到字符的东西,AI 生成的候选只是草稿,不是终稿。这也是流程设计里风控的一部分。
三、团队流程:四步走
我把这套流程固化成了四个步骤,写进了团队 wiki:
第一步:提交解析请求。 任何人接到涉及正则的任务,把原表达式和上下文(用什么语言、跑在哪个环节)贴给 AI,用统一模板(见下文)。
第二步:AI 输出解析卡片。 包含:逐段解释、匹配目标描述、正反用例各若干条、风险提示。
第三步:人工复核用例。 这是关键的风控闸口。复核人要挑出用例中不准确的部分,补充业务特有的边界(比如我们的系统里手机号要不要支持 +86 前缀,AI 不知道,业务知道)。
第四步:归档。 解析卡片连同用例存入代码仓库,和正则文件放在一起。下次再有人要动这段正则,先读卡片,再读代码。
这个流程跑了一个多月,最直观的变化是:评审会上讨论正则的时间从“对着字符发呆”变成了“对着用例逐条勾选”,讨论有了共同语言。
四、可复制的提示词模板
这是我在用的模板,拿去可以直接改:
你是一名资深正则表达式工程师。请解析以下正则表达式,输出结构化报告。
【正则表达式】
{{regex_here}}
【运行环境】
语言/引擎:{{如 JavaScript / Python re / PCRE}}
使用场景:{{如接口入参校验 / 日志字段提取 / URL 重写}}
【请输出】
1. 逐段拆解:按分组、字符类、量词、断言分段,说明每段作用
2. 功能概述:用一句话说明这个正则的整体匹配目标
3. 匹配示例:至少 5 个应命中的字符串,覆盖典型与边界情况
4. 不匹配示例:至少 5 个不应命中的字符串,并说明原因
5. 风险提示:指出回溯风险、贪婪/懒惰歧义、字符集遗漏等潜在问题
6. 修改建议:如有更清晰的等价写法或隐患修复方案,请列出
【约束】
- 示例必须是可直接用于单元测试的完整字符串
- 不确定的地方明确标注"待人工确认",不要猜测那个“待人工确认”的约束是我踩过坑之后加的——早期版本 AI 会自信地补全业务规则,导致用例看起来对、实际跑起来错。加上这条之后,AI 会在拿不准的地方主动留白,把判断权交回给人。
五、用 AI 前后的对比
| 维度 | 之前 | 之后 |
|---|---|---|
| 理解一段陌生正则 | 资深同事约半天 | AI 解析 + 人工复核,约半小时 |
| 修改正则的评审 | 凭经验争论 | 对照用例逐条验证 |
| 知识沉淀 | 在个人脑子里 | 解析卡片随代码入库 |
| 新人上手 | 不敢碰正则模块 | 按流程独立完成,复核把关 |
| 回归风险 | 靠测试环境碰运气 | 正反用例先跑一遍再说 |
有个细节值得说:以前“谁写的谁维护”是默认规则,正则成了某些人的私有领地。现在解析卡片入库后,任何成员都能接手,人员流动不再是风险点。对管理者来说,这可能比省下的那几小时更值钱——流程降低了组织对特定个人的依赖。
六、几点提醒
- AI 的解析也可能出错,尤其是冷门语法和引擎差异,人工复核这一步不能省;
- 不要让 AI 直接改线上正则,它的角色是“出说明书”和“出考题”,改不改、怎么改由人决定;
- 如果用商业模型服务,成本以官网价格页为准,按我们团队的量级,相比人力投入微不足道,但建议记录用量,便于核算。
写在最后
复杂正则曾经是我们代码库里最晦暗的角落,AI 解析流程把它变成了有文档、有用例、有评审的“受控区域”。对小团队来说,这类改造不需要任何基础设施投入,一条提示词模板加一条流程规范就能启动。
如果你想把团队里这类“AI 能接手的解析型工作”系统性地梳理出来,可以试试通过 https://api.thistoken.ai/register 接入统一的模型服务,把流程工具化,让规范真正落地。
---
本文的示例只需一个 API Key 就能复现:在 https://api.thistoken.ai/register 注册即用。