PAGE LOAD / LIVE正则可视化加载中
正则可视化 - 开发工具 · 萤炬工具箱 · 工具说明与使用指南

正则可视化 - 开发工具 · 萤炬工具箱

正则可视化把表达式的匹配逻辑画成图形,直观呈现分组、量词、分支与断言的结构,同时提供实时测试区查看在示例文本上的匹配结果,并内置常用正则模板库(邮箱、手机号、URL 等)。适合读懂别人写的复杂正则,或验证自己写的是否符合预期。纯前端解析与测试,表达式与测试文本不上传。可视化基于通用正则语法,各语言特有的扩展语法可能无…

正则可视化把表达式的匹配逻辑画成图形,直观呈现分组、量词、分支与断言的结构,同时提供实时测试区查看在示例文本上的匹配结果,并内置常用正则模板库(邮箱、手机号、URL 等)。适合读懂别人写的复杂正则,或验证自己写的是否符合预期。

使用步骤

  1. 输入或从模板库选择一个正则表达式。
  2. 查看生成的逻辑图,理解分组、量词与分支的嵌套关系。
  3. 在测试区粘贴示例文本,查看实时匹配结果与捕获组。
  4. 调整表达式直到匹配符合预期,复制使用。

功能与限制

  • 纯前端解析与测试,表达式与测试文本不上传。
  • 可视化基于通用正则语法,各语言特有的扩展语法可能无法完整呈现。
  • 测试结果按 JavaScript 正则引擎行为,移植到其他语言前需核对方言差异。

常见问题

正则在不同语言里行为为什么不同?
各语言用不同的正则引擎与方言:JavaScript 不支持 \A \z 与占有量词,Python 的 re 支持命名组 (?P<n>...) 而 JS 用 (?<n>...),PCRE 的特性最全。移植正则时要逐一核对。
贪婪与非贪婪匹配有什么区别?
默认量词是贪婪的,尽可能多匹配;加 ? 变非贪婪(如 .*?),尽可能少匹配。抓取 HTML 标签内容时用贪婪会一路吃到最后一个闭合标签。
什么是灾难性回溯?
嵌套量词(如 (a+)+b)在不匹配的长输入上会产生指数级的回溯尝试,导致 CPU 打满、请求卡死。避免嵌套量词、给分支加明确锚点是主要预防手段。
前瞻断言 (?=) 会消耗字符吗?
不会。断言只检查位置条件是否成立,匹配位置不前进,所以 (?=...) 常用于「后面必须是 X 但不把 X 纳入结果」的场景,如密码强度校验。