祈灵工具箱

🛤️正则表达式可视化 - 铁路图与逐项中文解释,在线看懂正则

一长串正则很难一眼看懂。把它粘贴进来(也可以直接粘贴 /pattern/flags 形式),工具会用自带的解析器按 JavaScript 语法逐字解析,画成铁路图:从左到右顺着线走就是匹配的过程,分叉表示“任选其一”,上方的旁路表示可选,下方带箭头的回路表示重复,并标注次数和是否非贪婪;捕获分组、命名分组、前瞻后顾用带标签的框圈出来,字符类列出其中的每一项。下方的逐项解释把每个部分翻译成通俗的中文,鼠标悬停在图上或解释上,都会同时高亮正则原文里对应的那一段。支持选择 |、捕获 / 命名 / 非捕获分组、肯定与否定前瞻后顾、修饰符分组 (?i:…)、贪婪与非贪婪量词和 {m,n}、字符类与各种转义、^ $ \b \B 锚点、反向引用 \1 与 \k<name>、Unicode 属性 \p{…},以及 d g i m s u v y 全部标志(含 v 标志的嵌套字符类与 && / -- 运算)。语法错误会标出出错位置,铁路图可以导出为 SVG 或高清 PNG,放进文档和代码评审里。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用正则可视化

  1. 1输入正则表达式并勾选标志,或点一个示例
  2. 2看铁路图和逐项解释,悬停任意部分查看它在原文中的位置
  3. 3导出 SVG / PNG,或跳到正则测试工具用真实文本验证

常见问题

铁路图怎么看?
从左边的空心圆出发,沿着线走到右边的实心圆,途经的每个方块依次匹配。线路分叉表示多个分支任选其一;方块上方有一条绕过去的线表示这部分可选;方块下方带箭头的回路表示可以重复,旁边标注次数(例如“2~5 次”)以及是否为非贪婪。虚线框表示前瞻后顾等不消耗字符的断言,实线框是捕获分组。
支持哪些正则语法?
按 JavaScript(ECMAScript 2025)的语法解析:选择、捕获 / 命名 / 非捕获分组、四种前瞻后顾、(?i:…) 修饰符分组、各种量词、字符类、\d \w \s 等转义、\x \u \u{…} \c 字符转义、锚点、反向引用、\p{…} Unicode 属性,以及 v 标志的嵌套字符类、&& 与 -- 运算和 \q{…}。不带 u 标志时也按浏览器的宽松规则处理孤立的 {、超出分组数的 \8 等写法,并给出提示。
为什么和 Python、Java 的正则结果可能不同?
不同语言的正则方言有差异,例如 Python 的命名分组写作 (?P<name>…)、支持 \A \Z,Java 和 PCRE 支持占有量词 a++ 和原子分组 (?>…),而 JavaScript 不支持这些。这里严格按照 JavaScript 语法解析,语法是否合法也以浏览器自带的 RegExp 为准。
正则会上传到服务器吗?
不会。解析、绘图和导出都在浏览器本地完成,正则和图片都不会离开你的电脑。