核心用法
Regex Visualizer 是一个命令行工具,通过 headless Puppeteer 调用内置的 Regulex-Plus Web UI,将 JavaScript 正则表达式渲染为标准的铁路图(railroad diagram)。用户只需提供正则表达式文本和可选标志位(i/m/g),即可一次性导出 SVG 矢量图和/或 PNG 位图,适用于技术文档、代码注释分享或正则调试场景。
显著优点
1. 像素级还原 Web UI:不同于其他 CLI 工具的重新绘制方案,本技能直接复用 assets/regulex.html 的渲染逻辑,确保输出与 Regulex-Plus 官方界面点击「Export Image」完全一致。
2. 批量友好:支持纯 SVG、纯 PNG 或双格式同时导出,文件名与路径自由指定,便于集成到自动化文档生成流程。
3. 零配置依赖管理:puppeteer-core 不捆绑 Chromium,用户按需安装浏览器,减小初始体积;脚本自动处理页面加载与 canvas 捕获。
4. 错误透明化:正则解析失败时直接返回 Web UI 原生错误文本,调试体验与在线版无异。
潜在局限
- 浏览器依赖:必须本地安装 Chromium/Chrome,在无头服务器环境(如某些 CI/CD)中需额外配置系统依赖。
- 标志位受限:仅支持
i(忽略大小写)、m(多行)、g(全局)三个基础标志,不支持 ES2018+ 新增标志(如sdotAll、uunicode)。 - Node.js 独占:基于
.mjs脚本,无法直接运行于 Deno/Bun 等其他运行时。
适合人群
- 技术文档撰写者:需要为博客、README 或 API 文档插入高质量正则图解。
- 正则学习者:通过可视化理解复杂嵌套结构与量词优先级。
- 代码审查者:生成图示辅助团队评审晦涩的正则表达式。
常规风险
- XSS 风险低但存在:
--re参数直接注入 HTML 页面,虽通过 Puppeteer 沙箱隔离,仍建议避免将不可信用户输入直接传递,防止潜在的 headless 浏览器内存消耗攻击。 - 路径遍历:
--out参数未做严格校验,若以提升后的权限运行,可能被滥用写入系统敏感目录。