编程开发进阶正则文本处理测试
正则构建与测试
先写清要匹配和不要匹配的样本,再给正则,并用正反例各自验证。
提示词模板
请帮我写一个正则表达式。
用途:{{从什么文本里提取或校验什么}}
语言/引擎:{{JavaScript / Python / PCRE / Go}}
必须匹配的例子:
{{逐行列出 5 条以上真实样本}}
必须不匹配的例子:
{{逐行列出 5 条以上}}
输出:
1. 正则本体(带简短注释说明每一段);
2. 逐条验证:对上面每个正例和反例说明匹配结果;
3. 边界情况:空字符串、超长文本、换行、Unicode、贪婪与回溯风险;
4. 一个可直接运行的测试片段(含断言);
5. 如果这个任务不该用正则(比如解析 HTML / JSON),直接告诉我该用什么。需要替换的部分
复制模板后,把下面这些 {{…}} 换成你的真实信息;没有的信息宁可留空,也不要让模型编。
{{从什么文本里提取或校验什么}}{{JavaScript / Python / PCRE / Go}}{{逐行列出 5 条以上真实样本}}{{逐行列出 5 条以上}}
什么时候用
提取日志字段、校验格式、批量替换。
示例
提取 URL 里的域名要排除端口和路径,反例包括带端口、带查询串、IP 地址三种。
使用建议
- 1正例反例都要给,只给正例一定会过度匹配。
- 2嵌套结构别用正则,用解析器。
- 3上线前拿真实数据跑一遍全量。
方法来源:正则表达式实践(原创整理)。模板为中文改写与整理,可按你的任务继续修改。