用AI写正则表达式:零基础从匹配规则到文本清洗的完整教程(2026实战版)
零基础学会用ChatGPT写正则表达式:从手机号匹配到HTML标签提取,从编写规则到批量清洗,配合在线工具一键验证。告别手敲代码,让AI帮你搞定文本处理。
你是不是也遇到过这种情况——同事发来一份 messy 的数据文件,里面混着电话号码、邮箱地址、日期,你需要把它们全部提取出来,手动一个个复制粘贴,折腾了一个小时还没弄完。或者你写个脚本要匹配某些文本格式,翻了半天正则语法,还是对不上。
正则表达式是文本处理的神器,但它的语法对普通人来说门槛太高了。 今天教你一个完全不同的思路:让AI帮你写正则,你只需要说人话。
本篇教程将从零开始,带你学会用ChatGPT编写、验证和优化正则表达式,配合198007.xyz上的在线工具,让你在5分钟内完成以前需要半小时的文本清洗工作。
一、为什么你需要正则表达式?
正则表达式(Regular Expression,简称 Regex)是一种用来匹配文本模式的工具。它看似复杂,但实际上你在日常生活中经常用到它——只是你可能不知道那个名字。
常见场景:
- 从一段文字中提取所有手机号:
1\d{10} - 验证邮箱格式是否正确:
^[^@]+@[^@]+\.[^@]+$ - 把文档里所有的日期统一格式:
(\d{4})-(\d{2})-(\d{2})→$1年$2月$3日 - 从HTML代码里提取所有链接:
href="([^"]+)" - 批量删除文本中的空行和多余空格
如果你会写正则,处理这些任务只需要几秒钟。但如果要手写正则,很多人会在语法上卡很久。
用AI写正则,比你翻手册快10倍。 ChatGPT、Claude这些AI助手能听懂你的自然语言描述,直接生成可执行的正则表达式。你只需要说”帮我匹配所有中国大陆手机号”,AI就能给你正确的正则,还能解释每一部分的含义。
二、第一步:用AI生成正则表达式
2.1 明确你的匹配需求
在找AI之前,先想清楚你要做什么。以最常见的几个场景为例:
场景1:提取手机号 你需要从一段文字里找出所有中国大陆手机号(11位,以1开头,第二位是3-9)。
场景2:验证邮箱格式 你需要检查用户输入的邮箱是否符合规范。
场景3:批量替换日期格式
你有一批数据,日期格式是 2026-09-02,需要改成 2026年09月02日。
场景4:提取特定模式 你要从日志文件里提取所有的IP地址。
2.2 向AI描述你的需求
打开ChatGPT或Claude,用自然语言描述你的需求。以下是一些经过验证的提示词模板,直接复制使用:
提取类需求: > 请帮我写一个正则表达式,从文本中提取所有中国大陆手机号。要求:只匹配11位数字,以1开头,第二位是3-9。请同时告诉我每个部分的含义。
验证类需求: > 请帮我写一个正则表达式,用于验证邮箱格式。要求:符合标准邮箱格式,包含@符号和域名。请测试以下几个例子:test@example.com、invalid@、@example.com
替换类需求: > 请帮我写一个正则表达式,把文本中的日期格式从 “2026-09-02” 替换为 “2026年09月02日”。请提供替换后的完整示例。
AI会给你一个完整的正则表达式,并用中文解释每一部分的含义。比如上面手机号的例子,AI可能会返回:
^1[3-9]\d{9}$
然后解释:
- ^ — 匹配字符串开头
- 1 — 以数字1开头
- [3-9] — 第二位是3到9之间的任意数字
- \d{9} — 后面跟着9个任意数字
- $ — 匹配字符串结尾
2.3 快速验证你的正则
拿到AI生成的正则后,不要急着用到实际数据里。先用在线工具测试一下,确保它能按预期工作。
访问 正则表达式测试器,把AI给你的正则粘贴进去,再把测试文本贴到输入框,就能看到实时匹配结果。如果匹配不对,直接把测试结果反馈给AI,让它调整:
这个正则匹配到了不需要的结果,比如下面这段文本里不应该匹配到 “12345678901”,请修正。
通过这种”生成→测试→修正”的循环,很快你就能得到精准的正则。
三、第二步:用正则做批量文本清洗
正则表达式不只是用来匹配,更重要的是用来做批量处理。下面教你几个最实用的清洗场景。
3.1 批量去重:清理重复条目
假设你有一份名单,里面有重复的名字:
张三
李四
张三
王五
李四
赵六
张三
方法1:用AI生成去重规则
请帮我写一个正则表达式,用来检测文本中连续重复的行。如果两行内容完全相同,只保留第一行。
AI可能不会直接给你去重的正则(因为去重通常需要程序逻辑),但它会告诉你用Python或Shell怎么实现:
import re
text = """张三
李四
张三
王五
李四
赵六
张三"""
# 使用正则找出所有不重复的行
lines = re.sub(r'^(.+)$', r'\1', text, flags=re.MULTILINE)
# 再去重
unique_lines = list(dict.fromkeys(lines.split('\n')))
print('\n'.join(unique_lines))
方法2:直接用在线工具
更简单的方式是打开 文本去重工具,把数据粘贴进去,一键去重。这个工具支持区分大小写和不区分大小写两种模式,还能选择保留首次出现还是末次出现的行。
3.2 批量替换:统一格式
你有一份数据,里面的日期格式不统一:
2026/09/02
2026-09-02
09-02-2026
2026.09.02
你需要把它们全部统一成 YYYY-MM-DD 格式。
向AI提问: > 请帮我写一个正则表达式,把以下不同格式的日期统一替换为 YYYY-MM-DD 格式。需要支持的格式包括:2026/09/02、2026-09-02、09-02-2026、2026.09.02。请提供替换命令和示例。
AI会给你类似这样的答案:
匹配:(\d{4})[/-\.](\d{1,2})[/-\.](\d{1,2})
替换:\1-\2-\3
这意味着把所有 XXXX/XX/XX 或 XXXX-XX-XX 格式,统一替换为 XXXX-XX-XX。
实操: 打开 文本替换工具,选择”正则替换”模式,粘贴AI给你的匹配规则和替换规则,一键批量替换。
3.3 批量提取:从杂乱文本中捞出关键信息
这是正则最强大的应用场景。假设你有一段会议记录:
【会议1】时间:2026-09-01 14:00,议题:Q3复盘,参会:张三、李四、王五
【会议2】时间:2026-09-03 10:00,议题:产品评审,参会:赵六、孙七
【会议3】时间:2026-09-05 16:00,议题:技术方案讨论,参会:周八、吴九、郑十、冯十一
你需要提取所有会议的时间、议题和参会人,整理成表格。
向AI提问: > 请帮我写一个正则表达式,从下面的会议记录中提取会议时间、议题和参会人。每个会议的格式是固定的,以【会议N】开头。请提供匹配规则和提取方式。
AI会返回:
匹配整条会议记录:
\【会议(\d+)】时间:(\d{4}-\d{2}-\d{2}) \d{2}:\d{2},议题:([^,]+),参会:(.+)
捕获组:
$1 = 会议编号
$2 = 日期
$3 = 议题
$4 = 参会人员名单
然后你可以把匹配结果粘贴到 CSV在线查看器 中,快速预览整理后的结果。如果需要进一步分析,可以用 CSV SQL分析器 进行筛选和汇总。
四、第三步:进阶技巧——让AI帮你优化正则
4.1 性能优化:大数据量下的正则陷阱
当处理大量文本时,某些正则表达式会导致性能问题。常见的陷阱是”灾难性回溯”——正则引擎在匹配失败时会尝试无数种组合,导致程序卡死。
如何避免: 让AI帮你优化: > 我这个正则表达式在处理大文本时非常慢,请帮我优化它,避免灾难性回溯。
AI通常会建议你: - 用原子分组代替贪婪匹配 - 用字符类代替嵌套量词 - 用非捕获组减少开销
4.2 跨语言兼容性
正则表达式在不同编程语言中略有差异。比如Python的re模块和JavaScript的RegExp在有些细节上不一样。
如果你要把正则用在特定编程语言中,告诉AI: > 我需要在Python的re模块中使用这个正则,请确认语法兼容性。
4.3 结合DuckDB做大规模数据清洗
如果你的数据量很大(几万行甚至更多),单个文件处理起来很慢,可以考虑用DuckDB来做批量清洗。DuckDB支持SQL中的正则表达式函数,可以直接在数据库层面完成文本提取和替换。
访问 DuckDB Lab 学习如何用DuckDB做高级数据清洗。比如:
-- 从文本中提取所有手机号
SELECT regexp_extract(text_column, '1[3-9]\d{9}') AS phone
FROM your_table;
-- 批量替换日期格式
SELECT regexp_replace(date_column, '(\d{4})[/-\.](\d{2})[/-\.](\d{2})', '\1-\2-\3')
FROM your_table;
五、实战案例:一周工作流整合
下面用一个完整的实战案例,把今天学到的所有技巧串在一起。
场景: 你是一名运营,每周需要从客户反馈邮件中提取关键信息,整理成周报。
原始数据: 200封客户邮件,格式不统一,需要提取客户名称、问题类型、紧急程度。
完整工作流:
第1步:导出邮件内容 从邮箱导出邮件列表,保存为CSV文件。
第2步:用AI生成提取正则 > 我有200封客户反馈邮件,格式不统一。我需要提取每封邮件中的:1. 客户名称(通常在邮件开头)2. 问题类型(如:产品故障、售后服务、技术咨询)3. 紧急程度(高/中/低)。请帮我写三个正则表达式,分别提取这三个字段。
第3步:用正则测试器验证 打开 正则表达式测试器,用10封邮件测试AI生成的正则,确保提取准确。
第4步:批量提取与清洗 把200封邮件交给AI处理: > 下面是200封邮件的文本,请用上面生成的正则提取客户名称、问题类型和紧急程度,输出为CSV格式。
第5步:去重与统计 用 文本去重工具 去除重复反馈,用 文本计数器 统计各类问题的数量。
第6步:生成周报 把清洗后的数据导入 CSV SQL分析器,用SQL查询统计各问题类型的占比,生成可视化报表。
整个过程,你不需要写一行代码,只需要会描述需求。AI帮你完成正则编写、批量提取、数据清洗的全部工作。
六、常见问题速查
Q1:AI生成的正则不对怎么办? 直接告诉AI哪里错了,让它修正。比如:”这个正则在匹配邮箱时,把 ‘test@.com’ 也匹配了,请修复。”
Q2:正则太复杂看不懂怎么办? 让AI用中文逐条解释每个符号的含义,或者让它用类比的方式解释。
Q3:我需要在Excel里用正则怎么办?
Excel 365版本支持REGEXEXTRACT和REGEXREPLACE函数。把AI生成的正则放进函数参数即可。
Q4:正则和Python脚本该怎么配合使用? AI可以同时给你正则表达式和Python代码。你只需要把正则粘贴到代码中,运行脚本就能批量处理。
七、总结
正则表达式是文本处理的高效工具,但手写语法对非技术人员门槛太高。用AI写正则,本质上是把”翻译需求”的工作交给AI,你只需要负责说清楚要什么。
核心流程只有三步:描述需求 → AI生成正则 → 在线工具验证。掌握这个流程,无论是提取手机号、清洗日期格式、还是批量处理200封邮件,都能在几分钟内完成。
记住:正则表达式不需要你从头学起。遇到问题,先问AI,再用工具验证,不断迭代优化。这才是2026年最高效的文本处理方式。