关于 regex-builder
指导在指定引擎中构建和验证正则表达式的技能,侧重基于样例测试、引擎差异,以及回溯和输入长度风险。
主要功能
- 01明确引擎与模式需求
- 02依据样例构建模式
- 03在目标运行时测试
- 04检查转义与 Unicode 边界
- 05评估回溯和输入风险
适用场景
- 01为应用验证创建正则表达式
- 02根据匹配与不匹配样例验证模式
- 03检查不可信输入下的正则安全性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jmerta/ codex-skills --skill regex-builder安装后在 Claude Code 中输入/regex-builder确认已加载。
附带文件agents/openai.yaml
详细介绍
正则表达式构建器
定义约定
确认目标引擎和版本、标志、多行行为、输入边界、捕获或替换需求,以及有代表性的匹配和不匹配示例。尽可能从调用代码中推断这些信息;只询问代码库无法回答的问题。
除非已验证通用子集,否则不要声称某个模式可在 JavaScript、Python、Java、.NET、RE2、PCRE2 或命令行工具中通用。
构建和测试
- 从能够区分样例的最简字面结构开始。
- 仅在约定有要求时添加锚点、边界、分隔符、Unicode 处理和捕获组。
- 使用目标引擎进行测试。仅在使用 ripgrep 默认引擎时使用
rg,或在使用其 PCRE2 模式时使用rg -P;其他语法则使用应用运行时。 - 验证所有给出的匹配和不匹配示例。为边界情况添加空输入、相邻匹配、换行和 Unicode 测试。对于不受信任的输入,加入较长、具有对抗性的近似匹配或不匹配示例,测量其运行时间;如果引擎没有超时机制,则要求应用限制输入长度。
- 将 shell 和字符串字面量的转义与正则表达式语法的转义分开检查。
- 避免嵌套且有歧义的量词,以及对不受信任输入进行无界回溯。如果语法或安全要求超出可读正则表达式的能力,请优先使用更简单的解析器。
交付内容
请提供:
- 正则表达式和标志;
- 目标引擎及所需版本或功能;
- 使用捕获组或替换时的映射;
- 一份可在目标运行时执行的验证示例及预期结果;
- 已知限制以及回溯或输入大小风险。
评论
支持 Markdown