正则可视化图解

把正则表达式解析成分段结构图,评审讲解他人正则不再靠猜

输入正则表达式,本工具用内置解析器把它拆成嵌套结构盒:或分支上下堆叠、序列横向排布、量词在盒下标注重复次数、字符类展开集合卡、锚点用箭头标注起止; 再配合测试字符串实时高亮匹配段,一眼看清每段正则各自负责什么。全部解析与匹配在浏览器本地完成。

支持的可视化语法:字面字符、转义(\d \D \w \W \s \S \b \B \n \t \. 等常用转义)、 字符类 [...](范围 a-z 与取反 [^...])、分组 (...) 与非捕获分组 (?:...)、 量词 * + ? {n} {n,} {n,m}(含非贪婪 ?)、或 |、锚点 ^ $、点号 .。 反向引用 \1、环视断言 (?=) (?!)(?<=)(?<!)、命名分组 (?<name>) 等暂不支持,会以灰色「暂不支持可视化」原样展示,不会报错。

输入正则与测试文本

若整体被 /.../ 包裹会自动剥离分隔符与标志位(如 /abc/i 按 abc 解析)

RegExp 实测 命中 0 段

2026-10 1999-12 abc

无匹配,试试简化正则或检查转义

结构图解

^锚定开头(从这里开始)
捕获组 #1
\d数字 0-9
{4} 恰好 4 次(贪婪)
-
捕获组 #2
\d数字 0-9
{2} 恰好 2 次(贪婪)
$锚定结尾(到这里结束)

阅读方式:从左到右按顺序拼接;嵌套边框表示分组归属;盒下方小字为量词;「或」分隔上下分支任选其一;灰色虚线盒为暂不支持可视化的原文片段。

#关于正则可视化

正则表达式一行字符里塞进了字符、分组、重复与分支多重结构,读别人写的正则往往要靠脑内逐字符展开。 可视化把它还原成嵌套盒子:分组是谁的边界、量词修饰谁、或分支有哪几条路,一眼即得,特别适合代码评审、教学讲解与调试复杂规则。

为什么要可视化正则

例如 ^(\d{4})-(\d{2})$ 拆开后是「行首锚点 → 捕获组#1(数字重复 4 次)→ 字面量 - → 捕获组#2(数字重复 2 次)→ 行尾锚点」五段, 哪段限制格式、哪段用于提取一目了然;而 a|bc 的图解会明确显示两条分支是「a」或「bc」,避免误读成「ab 或 c」。

本工具支持哪些语法

覆盖日常大多数场景:字面字符、常用转义(\d \w \s \b 及其大写、\n \t 等)、字符类(范围与取反)、捕获与非捕获分组、 全部五种量词及非贪婪写法、或分支、^ $ 锚点与点号。反向引用、环视断言、命名分组等高级语法暂不支持,会原样以灰色盒展示,不会中断图解。

匹配高亮是怎么测的

底部实测直接用浏览器原生 RegExp 按输入正则做全局匹配,命中的片段黄色高亮; 若正则语法本身有错(如括号不配对),会显示原生报错信息而不是崩溃,方便对照修正。

常见问题

  • 我的正则里有 (?=...) 为什么显示灰色?环视断言、反向引用与命名分组暂在本工具支持范围之外,会以灰色「暂不支持可视化」盒原样保留,不影响其余部分解析。
  • 量词作用在谁身上?量词只修饰紧邻它的前一个单元(单个字符、转义、字符类或分组),图解中表现为包住该单元并在下方标注。
  • 输入 /.../ 包裹的正则会怎样?工具会自动剥离首尾分隔符与 i g m 等标志位,只解析中间的表达式本体。

相关工具推荐

Spine动画编辑器

专业的Spine动画预览和编辑工具,支持多引擎导出

热门 新品 本地

SQL查询优化器

分析SQL查询并提供优化建议

热门 新品 本地

JVM启动参数配置

可视化配置Java虚拟机启动参数,支持内存、GC、性能等选项

热门 新品 本地

代码片段转换

不同编程语言间代码片段转换(如Python↔JavaScript)

热门 新品 本地

IP地址查询

查询IP地址的地理位置、运营商、ASN等信息,支持IPv4和IPv6

热门 新品 本地

JSON转TypeScript接口

根据JSON数据自动生成TypeScript类型定义

热门 新品 本地

相关教程