AI 写正则表达式进阶指南:高手常用的 5 个做法
这篇写给已经会用 AI 写正则表达式、希望再进一步的读者。理解原理是关键:正则表达式语法紧凑、难以记忆,但规律本身往往可以用日常语言说清楚;AI 能把描述和示例翻译成表达式,并帮你检查边界情况。
写正则的关键在于反例。告诉 AI 什么应该匹配很容易,但真正决定正则质量的是“什么不应该匹配”。一个只用正例测试过的正则,常常会匹配到意想不到的内容。每次写正则时,花一分钟想几个容易误匹配的反例,能避免大部分问题。
技巧 1:把 AI 给出的正则粘贴到在线测试工具中
把 AI 给出的正则粘贴到在线测试工具中,直观查看匹配结果。做到这一点,结果的稳定性会明显提高。
技巧 2:要求 AI 提供“非贪婪”和“贪婪”两种写法
要求 AI 提供“非贪婪”和“贪婪”两种写法,理解差异。做到这一点,结果的稳定性会明显提高。
技巧 3:批量替换前先备份文件
批量替换前先备份文件。这能帮你更快定位问题出在哪个环节。
技巧 4:把常用的正则整理成个人笔记
把常用的正则整理成个人笔记,附上例子。做到这一点,结果的稳定性会明显提高。
技巧 5:遇到匹配错误
遇到匹配错误,把错误的例子补充给 AI,让它修正。适合在任务较复杂或要反复使用时采用。
一个进阶场景
举个虚构的例子:一位运维需要从几千行日志中找出所有超时请求的接口路径。他给 AI 看了几行日志样例,说明要提取“耗时超过 1000ms 的请求路径”。AI 给出正则并说明数值比较最好在提取后用脚本处理。他按建议先用正则提取路径和耗时,再筛选,几分钟就得到了结果。
正则写得太复杂怎么办? 可以拆成几步处理,或改用其他方法,可读性比简洁更重要。
进阶模板
下面的模板综合了以上技巧,可以按运维工程师等不同场景替换内容:
请解释并测试这个正则表达式:
[粘贴正则]
1. 逐段拆解,说明每部分匹配什么
2. 用一句话总结它的整体作用
3. 构造 5 个应该匹配和 5 个不应该匹配的测试用例
4. 指出潜在问题:过度匹配、遗漏情况、性能风险(如回溯过多)
5. 如有更简洁或更安全的写法,给出替代方案
进阶使用时仍要避免
- ✗ 写完不加注释。 ✓ 复杂正则加注释,否则过一段时间自己也看不懂。
- ✗ 用正则处理复杂嵌套结构。 ✓ 比如解析网页结构,应使用专门的解析工具。
可以组合的技能
- AI 命令行助手:AI 命令行助手是用自然语言描述你想在终端完成的操作,让 AI 给出对应的命令和参数说明,例如批量重命名文件、查找大文件、统计日志、管理进程。
- 信息抽取:信息抽取是让 AI 从非结构化的文字中找出特定信息,例如从合同中提取金额和期限,从聊天记录中提取待办事项,从简历中提取工作经历。
衡量是否真的进步
一个简单的标准:同类任务需要的修改轮次是否减少,结果是否更稳定。如果答案是肯定的,说明你的 AI 写正则已经进阶;如果没有,回到基础步骤检查哪里写得不够具体。