关键信息
- 分类
- 开发与 Web
- 输入类型
- text
- 输出类型
- html
- 样本覆盖
- 4
- 支持 API
- Yes
概览
正则表达式铁路图可视化器能够将复杂的 JavaScript/PCRE 风格正则表达式解析并渲染为直观的 SVG 语法图,清晰展示字面量、捕获组、分支选择和循环结构,帮助开发者轻松理解和调试正则逻辑。
适用场景
- •需要向团队成员解释或在技术文档中记录复杂的正则表达式结构时。
- •调试包含多层嵌套、捕获组或复杂分支的正则表达式,难以直观看出匹配逻辑时。
- •在将正则表达式部署到生产环境前,检查是否存在可能导致灾难性回溯的嵌套量词结构。
工作原理
- •在输入框中输入正则表达式和可选的修饰符标志。
- •系统使用 `ret` 库将正则模式解析为抽象语法树(AST)。
- •将 AST 节点映射为铁路图元素,并使用 `railroad-diagrams` 库生成自包含的 SVG 语法图。
- •输出可视化图表,并附带捕获组列表及正则表达式标志的详细说明。
使用场景
用户案例
1. 可视化 URL 匹配正则
后端开发工程师- 背景原因
- 需要在网关层对传入的 URL 进行格式校验和提取,但现有的正则过于复杂,难以维护。
- 解决问题
- 难以直观确认 URL 中的协议、域名、端口和路径捕获组是否正确划分。
- 如何使用
- 在“正则表达式”输入框中输入 `^(https?)://([^/:]+)(:\d+)?(/.*)?$`,并在“标志”中输入 `i`。
- 示例配置
-
pattern: "^(https?)://([^/:]+)(:\d+)?(/.*)?$", flags: "i" - 效果
- 生成一张清晰的 SVG 铁路图,直观展示了协议、主机名、可选端口和路径的分支路径与捕获组编号。
2. 可视化邮箱捕获模式
前端开发工程师- 背景原因
- 在表单验证逻辑中,需要提取用户输入的邮箱地址,并确保匹配边界正确。
- 解决问题
- 需要确认单词边界 `\b` 和字符集在正则中的实际匹配流向。
- 如何使用
- 在“正则表达式”输入框中输入 `\b(\w+[\w.-]*@\w+[\w.-]*\.\w+)\b`,并在“标志”中输入 `gi`。
- 示例配置
-
pattern: "\\b(\\w+[\\w.-]*@\\w+[\\w.-]*\\.\\w+)\\b", flags: "gi" - 效果
- 渲染出包含单词边界和邮箱字符集匹配路径的语法图,并清晰标注了邮箱整体的捕获组。
用 Samples 测试
image, svg, regex相关专题
常见问题
这个工具支持哪些正则表达式流派?
支持 JavaScript 和 PCRE 风格的正则表达式语法。
什么是铁路图?
铁路图(或语法图)是一种可视化表示形式,通过从左到右的路径展示正则表达式的匹配流程。
为什么我的正则表达式解析失败了?
工具不支持部分高级 PCRE 特性(如递归模式、\K、分支重置或条件组),这些特性会导致解析错误。
捕获组在图表中是如何表示的?
捕获组会被标记并标注其对应的捕获序号,命名捕获组则会直接显示其名称。
我可以导出生成的铁路图吗?
工具会渲染出标准的 SVG 矢量图,您可以直接复制或保存该图形。