Regex Visual Debugger 是一个交互式正则表达式测试、解释和调试工具技能,属于 onewave-ai/claude-skills 技能集。
用途
当用户出现以下需求时激活该技能:提供正则表达式需要调试;询问“我的正则为什么不起作用?”;需要解释某个正则;希望用字符串测试正则;要求在不同方言(Python、JavaScript 等)之间转换正则;需要正则模式建议;或提及正则表达式、模式匹配。
主要能力
分析正则模式
解析正则结构,识别每个组成部分(分组、量词、字符类),检查常见语法错误,并针对指定方言验证正则语法。
通俗英语解释
逐段拆解模式,解释每一部分匹配什么,描述整体模式行为,说明量词的贪婪性,解释捕获组与非捕获组的区别。
可视化拆解
以层级方式展示模式结构,高亮分组与分支,标注字符类与范围,标记锚点与边界。
用示例测试
测试提供的测试字符串,展示哪些匹配、哪些不匹配,高亮匹配部分,解释匹配成功或失败的原因,展示捕获组内容。
识别常见问题
包括:未转义的特殊字符、量词错误、贪婪与非贪婪问题、锚点位置错误、未闭合分组、方言特有的不兼容性。
生成测试用例
创建应当匹配的字符串、不应当匹配的字符串,包含边界情况和边界条件测试。
提出改进建议
提供更高效的模式、更可读的替代写法、性能优化以及边界情况处理建议。
方言间转换
支持 Python(re 模块)、JavaScript、Perl、Java、.NET、PHP(PCRE)之间的转换。
输出格式
输出按以下结构组织:正则分析标题;通俗英语解释(逐部分列出,如 ^ 表示字符串开始、[A-Z] 表示一个大写字母、\d{3} 表示恰好 3 位数字、$ 表示字符串结束,并给出整体说明与匹配示例);可视化结构(对齐展示各组成部分);测试结果(分为匹配与不匹配两类,并说明原因,如小写 a 不匹配 [A-Z]、数字位数不足或过多);捕获组;发现的问题(列出问题、原因与修复方式,例如用 [A-Za-z] 替代 [A-Z]);改进建议(给出更灵活版本的正则代码,并说明改动,如增加小写字母、将 {3} 改为 {3,5});生成的测试用例(应匹配与不应匹配两组);方言语义说明(JavaScript、Python 各自注意事项);转换为其他方言的代码(JavaScript 使用 const pattern = /^[A-Z]\d{3}$/; 与 str.match(pattern),Python 使用 import re 与 pattern = r'^[A-Z]\d{3}$'、re.match(pattern, string));性能说明(当前复杂度 O(n)、无回溯问题、建议使用非捕获组 (?:...) 以提升性能)。
使用示例
用户问:“为什么这个正则匹配不了邮件:\w+@\w+\.\w+?”——回应:分析模式,解释它只能匹配简单邮件,展示测试用例(在 “user+tag@domain.co.uk” 上失败),指出问题(不处理特殊字符、多个顶级域),给出改进后的模式,并生成全面的测试用例。
用户问:“解释这个正则:^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$”——回应:拆解模式(IP 地址匹配器),解释每个组成部分,展示它匹配有效 IP(每段 0-255),提供测试用例并可视化结构。
用户问:“把这个 Python 正则转换成 JavaScript:(?P<name>\w+)”——回应:识别命名捕获组(Python 特性),转换为 JS 等价写法,解释差异,展示两个版本及用法示例。
最佳实践
始终用边界情况测试正则;先用通俗英语解释;展示具体示例而非仅理论;指出每种模式的常见陷阱;同时提供正面与反面测试用例;考虑性能影响;注明方言特有特性;尽可能建议更简单的替代方案;为性能使用非捕获组;正确转义特殊字符;明确说明大小写敏感性;在相关时用 Unicode 字符测试。
限制
该技能的具体安装方式、运行环境要求、收费情况、价格、适用平台等信息暂未提供。