RegexVisualizer

🚂 正则铁路图一键导出 SVG/PNG

基于 Regulex-Plus 可视化引擎,一键将 JavaScript 正则表达式导出为专业级 SVG/PNG 铁路图,完美复刻 Web UI 渲染效果。

收藏
4.4k
安装
1.3k
版本
1.0.0
CLS 安全性认证2026-08-04
点击查看完整报告 >

使用说明

核心用法

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+ 新增标志(如 s dotAll、u unicode)。
  • Node.js 独占:基于 .mjs 脚本,无法直接运行于 Deno/Bun 等其他运行时。

适合人群

  • 技术文档撰写者:需要为博客、README 或 API 文档插入高质量正则图解。
  • 正则学习者:通过可视化理解复杂嵌套结构与量词优先级。
  • 代码审查者:生成图示辅助团队评审晦涩的正则表达式。

常规风险

  • XSS 风险低但存在--re 参数直接注入 HTML 页面,虽通过 Puppeteer 沙箱隔离,仍建议避免将不可信用户输入直接传递,防止潜在的 headless 浏览器内存消耗攻击。
  • 路径遍历--out 参数未做严格校验,若以提升后的权限运行,可能被滥用写入系统敏感目录。

安全解读

核心用法

Regex Visualizer 是一个专注于正则表达式可视化的开发工具,通过调用 Regulex-Plus 的 Web UI 引擎,将复杂的 JavaScript 正则表达式转换为直观的"铁路图"(railroad diagrams)格式。用户只需提供正则表达式字符串和可选的修饰符(i/m/g),即可通过单一命令同时或分别导出 SVG 矢量图和 PNG 位图,完美复刻网页版"Export Image"功能的输出效果。

使用方法简洁明了:安装依赖后,通过 Node.js 脚本接收 --re(正则表达式)、--flags(修饰符)、--out(输出路径)等参数,利用 Puppeteer 无头浏览器加载本地封装的 regulex.html 页面,捕获渲染完成的 Canvas 和 SVG 元素,最终写入指定文件。支持 --svg-only--png-only 单独导出,满足不同场景需求。

显著优点

原汁原味的渲染质量:直接复用 Regulex-Plus 官方 Web UI 的渲染逻辑,而非重新实现绘制算法,确保输出与在线工具完全一致,避免二次开发带来的样式偏差。

高效的批量生成:命令行驱动设计便于集成到文档工作流、CI/CD 流水线或自动化脚本中,开发者无需手动打开浏览器即可批量生成图解。

双格式灵活输出:同时支持 SVG(无损缩放、适合印刷和网页嵌入)和 PNG(即插即用、兼容性强),适应技术文档、博客配图、团队分享等多种场景。

良好的错误反馈:正则解析失败时会原样返回 Web UI 的错误提示文本,帮助快速定位语法问题。

潜在缺点与局限性

浏览器依赖门槛:依赖 Puppeteer 和本地已安装的 Chrome/Edge 浏览器,首次配置需处理环境变量或路径指定问题,对轻量级环境不够友好。

修饰符支持受限:仅支持 i(忽略大小写)、m(多行)、g(全局)三个基础标志,不涵盖 ES6+ 新增的标志如 u(Unicode)、y(粘性)、s(dotAll)等现代正则特性。

无交互式编辑能力:纯导出工具,不具备在线版的实时编辑、分步调试、匹配测试等交互功能,复杂调试仍需回归网页版。

依赖链安全风险:通过 puppeteer-core 引入的间接依赖存在 3 个高危 CVE(basic-ftp、ip-address、ws),虽在当前使用场景中实际风险较低,但需持续关注上游修复。

适合的目标群体

技术文档撰写者:需要为 API 文档、代码规范或教学材料配图解释正则逻辑的开发者和技术写作者。

正则学习者与教育者:将抽象的正则语法转化为可视化结构,降低学习门槛,适合培训课程或博客教程制作。

代码审查与协作场景:在 Pull Request 描述、Issue 讨论或团队 Wiki 中快速生成图解,提升沟通效率。

前端/Node.js 开发者:已在技术栈中使用 JavaScript/TypeScript,希望将正则可视化集成到本地工作流的工程师。

常规使用风险

性能与资源消耗:Puppeteer 启动浏览器实例有一定耗时(冷启动约数秒),高频调用时建议考虑复用策略或批量处理。

依赖维护负担:Node.js 生态依赖树较深,需定期执行 npm audit fix 修复安全漏洞;Puppeteer 版本迭代可能带来 breaking changes。

输出路径安全性:脚本自动创建输出目录,若 --out 参数未经验证传入动态内容,存在路径遍历风险(建议仅使用硬编码或受限输入)。

环境配置不确定性:浏览器路径依赖 CHROME_PATH 等环境变量,跨平台(Windows/macOS/Linux)部署时需额外测试兼容性。

RegexVisualizer 内容

agents文件夹
assets文件夹
scripts文件夹
手动下载zip · 69.6 kB
openai.yamltext/plain
请选择文件