正则可视化
把正则拆成结构树并逐段中文解释
正则表达式
结构解析
这个工具能做什么
正则可视化工具把一条正则表达式解析成带缩进的结构树,并逐段用中文解释每一个记号的含义。分组、字符组、量词、锚点、断言、分支、转义序列等都会被单独列出并说明,同时统计捕获组数量、校验语法是否合法、解释所用的标志。面对别人写的、或自己半年前写的复杂正则,它能帮你快速看懂每一部分在做什么。
它的原理是一个小型正则解析器:从左到右扫描表达式,按正则语法递归地识别出各种结构——遇到 ( 就作为分组并判断是捕获、非捕获、命名还是断言,遇到 [ 就作为字符组,遇到 \ 就作为转义,再把紧跟的 *、+、?、{n,m} 识别为量词。解析出的语法树按层级缩进展示,层层嵌套一目了然。
举例,输入 ^(\d{3,4})-(\d{7,8})$,工具会告诉你:开头锚点、第 1 个捕获组里是重复 3 到 4 次的数字、一个字面连字符、第 2 个捕获组里是重复 7 到 8 次的数字、结尾锚点,共 2 个捕获组。再如 (?<year>\d{4}) 会被识别为命名捕获组 year。你也可以直接粘贴 /pattern/flags 形式,工具会自动分离出标志并解释。
这个工具和站内的「正则表达式测试」互补:测试工具告诉你正则能匹配到什么,这个工具帮你读懂正则本身的结构。它支持 JavaScript 正则语法(先行/后行断言、命名组、非贪婪量词等),解析全部在本地完成,正则内容不会上传。
正则可视化是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“正则可视化”、“正则表达式解析”、“正则解释”,说的都是这个。
常见使用场景
- 读懂别人写的复杂正则表达式
- 排查正则不匹配时逐段核对结构
- 学习正则语法时理解各记号含义
- 确认一段正则里到底有几个捕获组、分别是什么
使用方法
- 把内容粘贴到输入框(生成类工具直接设置选项)。
- 按需要选择选项,点操作按钮。
- 结果出现在下方,点「复制结果」即可带走。
常见问题
正则可视化和正则测试有什么区别?
正则测试关注"能匹配到什么",输入文本看高亮结果;本工具关注"正则本身是什么结构",把表达式拆解成带解释的结构树,帮你读懂每一段的含义。二者配合使用效果最好。
支持哪些正则语法?
支持 JavaScript 正则语法:捕获组、非捕获组 (?:)、命名组 (?<name>)、先行断言 (?=)(?!)、后行断言 (?<=)(?<!)、字符组、各种量词、转义序列、分支 | 等。
可以直接粘贴 /正则/标志 吗?
可以。如果输入形如 /\w+@\w+/i,工具会自动分离出模式和标志,并解释标志含义;也可以在模式框只填正则、在标志框单独填 gi 等。
会告诉我正则写错了吗?
会。工具用浏览器的正则引擎校验语法,合法会显示"✓ 语法有效",非法会显示具体的错误信息,帮你定位问题。
捕获组数量怎么看?
解析结果顶部会给出捕获组总数,结构树里每个捕获组也标注了它是第几组,命名组会同时显示名称,方便你在代码里用序号或名称取值。