codegeex可基于自然语言描述生成准确正则表达式及配套代码,支持ide插件注释触发、命令行批量处理、web多轮迭代优化、api集成四种路径。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您需要在Python中快速构建用于匹配复杂字符串的正则表达式,但手动编写易出错或效率低下,则CodeGeeX可基于自然语言描述直接生成符合语法、语义准确的正则模式及配套代码。以下是多种可行的操作路径:
一、在IDE插件中通过注释指令触发生成
该方法利用CodeGeeX插件对中文/英文注释的强理解能力,在编辑器内以自然语言描述需求,由插件实时生成完整正则表达式及验证逻辑。
1、在Python文件中插入一行中文注释,例如:# 匹配中国大陆手机号,格式为11位数字,首位为1,第二位为3-9
2、将光标置于该行下方,按下快捷键(如VS Code默认为Ctrl+Enter)或点击插件侧边栏“生成代码”按钮
3、CodeGeeX自动输出包含re.compile()调用、示例匹配与测试用例的完整代码块
4、检查生成的正则是否为^1[3-9]\d{9}$,并确认其已正确转义、锚定且无冗余分组
二、使用命令行工具批量生成并验证
该方法适用于需批量处理多类字符串匹配场景,支持从JSONL输入文件驱动正则生成,并自动注入Python运行时验证逻辑。
1、准备输入文件example_inputs.jsonl,写入如下内容:{"code": "# 匹配邮箱地址,支持常见域名后缀", "language": "Python"}
2、执行命令:python demo/run_demo.py --model-path /path/to/codegeex2-6b --input-file example_inputs.jsonl --output-dir ./regex_outputs
3、查看生成文件regex_outputs/00001.py,确认其中包含re.fullmatch调用与典型测试样本
4、运行该文件,验证输出是否对test@example.com、user@sub.domain.org等返回True,对invalid@、@domain.com等返回False
图片提示词生成器?不止如此。 马甲系统 —— 把脑海中的画面,翻译成AI能理解的专业表达。 用得越多,它越懂你:首次需要多问几句确认方向,用久了几乎一说就懂。 用得越多,它越快:缓存机制让后续对话越来越省。 RAG进化:成功案例持续入库,越跑越聪明。 输入「新手指南」查看完整功能介绍
三、在Web交互界面中进行多轮迭代优化
该方法适合对初始生成结果不满意时,通过上下文反馈引导模型修正正则细节,尤其适用于边界条件复杂的匹配任务。
1、启动本地Web服务:python demo/run_demo.py shell --port 7860,访问http://127.0.0.1:7860
2、在左侧输入框发送首轮请求:“写一个正则表达式,能匹配形如‘2024-03-15T14:22:36Z’的ISO 8601 UTC时间戳”
3、收到初步结果后,在下方追加指令:“排除带毫秒和时区偏移的变体,仅接受严格Z结尾”
4、观察第二轮输出是否收敛为^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$,并确认未出现.*或\s等过度宽松元素
四、通过API服务集成至自定义脚本
该方法适用于将正则生成功能嵌入CI流程或内部工具链,实现按需调用、结构化响应与错误隔离。
1、确保HTTP API服务已运行:python -m codegeex.serving --model-path /models/codegeex2-6b --quantize 4
2、构造POST请求体,设置Content-Type为application/json,body包含:{"prompt": "生成Python正则:匹配不含空格的纯字母用户名,长度3–16位,首字符为小写字母", "max_tokens": 128}
3、解析返回JSON中的response字段,提取正则字符串部分,确认其为^[a-z][a-zA-Z]{2,15}$
4、将该字符串传入Python的re.compile(),捕获re.error异常以判别语法有效性
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










