mcpField
R
regex-builder

regex-builder

github.com/jmerta开发13144 次安装10 周前更新
代码仓库

关于 regex-builder

指导在指定引擎中构建和验证正则表达式的技能,侧重基于样例测试、引擎差异,以及回溯和输入长度风险。

主要功能

  1. 01明确引擎与模式需求
  2. 02依据样例构建模式
  3. 03在目标运行时测试
  4. 04检查转义与 Unicode 边界
  5. 05评估回溯和输入风险

适用场景

  1. 01为应用验证创建正则表达式
  2. 02根据匹配与不匹配样例验证模式
  3. 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 或命令行工具中通用。

构建和测试

  1. 从能够区分样例的最简字面结构开始。
  2. 仅在约定有要求时添加锚点、边界、分隔符、Unicode 处理和捕获组。
  3. 使用目标引擎进行测试。仅在使用 ripgrep 默认引擎时使用 rg,或在使用其 PCRE2 模式时使用 rg -P;其他语法则使用应用运行时。
  4. 验证所有给出的匹配和不匹配示例。为边界情况添加空输入、相邻匹配、换行和 Unicode 测试。对于不受信任的输入,加入较长、具有对抗性的近似匹配或不匹配示例,测量其运行时间;如果引擎没有超时机制,则要求应用限制输入长度。
  5. 将 shell 和字符串字面量的转义与正则表达式语法的转义分开检查。
  6. 避免嵌套且有歧义的量词,以及对不受信任输入进行无界回溯。如果语法或安全要求超出可读正则表达式的能力,请优先使用更简单的解析器。

交付内容

请提供:

  • 正则表达式和标志;
  • 目标引擎及所需版本或功能;
  • 使用捕获组或替换时的映射;
  • 一份可在目标运行时执行的验证示例及预期结果;
  • 已知限制以及回溯或输入大小风险。

评论

支持 Markdown