负责记账、报销审核、对账和报表的财务人员,日常工作里月底对账、报表整理、费用分析和解释财务制度很费时间,表格操作多且容易出错。正则表达式功能强大但难写难读,用自然语言描述规则让 AI 生成,再用测试样例验证,是最省事的做法。下面以财务的真实场景为例,演示用 AI 写正则表达式的完整流程:给 AI 提供规则描述、应该匹配和不应该匹配的样例,让它生成正则并逐段解释,再在测试工具中验证。

场景:财务为什么需要 AI 写正则表达式

财务需要从一堆文本里批量提取或替换内容,比如从“费用报销”导出的文本中找出日期、编号或金额。手动处理几百条太慢,自己写正则又总是写错。

推荐工具

可以用 ChatGPT、Claude、DeepSeek 等对话助手生成正则,用 regex101 等在线工具测试;VS Code、Cursor 等编辑器的 AI 助手也能直接在文件中生成和应用。

案例:一次完整的使用过程(虚构)

先看一个虚构但很典型的例子。林林是一位负责记账、报销审核、对账和报表的财务人员,这周手头的事情包括“审核报销单约 120 张”和“配合年度预算编制”,偏偏这时又需要写正则表达式。林林没有从空白页开始,而是先花几分钟把相关材料整理好,按下面的提示词交给 AI,拿到初稿后对照原始资料逐条核对,再补上自己的判断。整个过程中,林林特别留意不把银行账户、工资明细、发票信息和公司财务数据放进对话里。

操作步骤

  1. 说明使用环境:Python、JavaScript、Excel 还是编辑器查找替换
  2. 描述规则,并提供 3-5 个应该匹配的例子
  3. 让 AI 生成正则并逐段解释
  4. 在测试工具中用真实样例验证后再批量使用

可复用的提示词

下面的提示词可以直接复制,按财务的实际情况替换细节:

【背景】身份:负责记账、报销审核、对账和报表的财务人员;平时主要和业务部门同事和财务经理打交道。
请帮我写一个 Python 正则表达式,用于从文本中提取日期和编号。

规则:
1. 日期格式可能是 2026-10-16、2026/10/16、2026年10月16日
2. 编号格式是两个大写字母加 6 位数字,例如 AB123456

应该匹配:
- “报销日期:2026/10/16,编号 AB123456”
- “2026年9月3日处理的 CD000123”

不应该匹配:
- “AB12345”(只有 5 位数字)
- “2026-13-01”(月份不合法)

请分别给出两个正则,逐段解释,并写一段 Python 示例代码。

示例输出(仅供示意)

下面是演示用的输出示例,其中的人名、数字和事项均为虚构,实际使用时请以你自己的资料为准:

日期

(\d{4})[-/年](0?[1-9]|1[0-2])[-/月](0?[1-9]|[12]\d|3[01])日?
  • (\d{4}):4 位年份
  • [-/年]:分隔符
  • (0?[1-9]|1[0-2]):1-12 月
  • (0?[1-9]|[12]\d|3[01])日?:1-31 日,可选“日”字

编号

\b[A-Z]{2}\d{6}\b

示例代码

import re
text = "2026年9月3日处理的 CD000123"
print(re.findall(r"\b[A-Z]{2}\d{6}\b", text))

注意:中文与字母相邻时 \b 可能不按预期工作,必要时改用 (?<![A-Z0-9]) 和 (?![0-9])。

如果结果不理想,不要急着换工具,先在提示词里补充财务经理的具体要求或给出一个参考样例,再生成一次。

注意事项与技巧

  • 一定要提供不应该匹配的例子,否则 AI 写的正则往往过于宽松。
  • 正则只校验格式,不校验逻辑(比如 2 月 30 日),需要时再用代码判断。

给财务的特别提醒

每个公式先用几行测试数据验证结果,再应用到整表。还有一点很关键:税务和会计处理以现行法规和公司制度为准,AI 的解读可能过时或不准确。

一个容易被忽略的习惯:让 AI 写公式和处理步骤,而不是把含真实金额的表格整份上传。

举一反三

  • 数据清洗:去除多余空格、统一标点、删除特殊字符。
  • 表单校验:手机号、邮箱、身份证号等格式校验(注意隐私)。

相关阅读