星点 星点-正则工具 本系列首页
关于
版本 v1.0.0

正则高级结构分析

面向进阶场景的正则结构工具:查看 AST 结构树与 JSON,进行正则合并、分支去重与表达式简化,并通过样本等价分析给出改前改后对照。无法证明等价时不会自动修改原表达式。

高级结构 · 工具介绍

当正则变得复杂时,结构化分析能帮助理解与维护。本工具先展示 AST 结构树与 JSON,便于查看分组、量词与分支的层级。

合并功能把两条正则组合为或关系;去重功能对顶层分支做字符串去重,减少冗余。

简化功能应用一组可安全识别的替换(如 [0-9] → \d、{1,} → +),并在改动后与原文做样本等价分析:用生成的匹配、不匹配与边界样本逐一比对两者行为。

若样本上出现行为差异,会明确提示“不等价”;即使样本一致,也只表示“在样本上等价”,不构成形式化证明,是否采用由你决定。

高级结构 · 功能特点

  • AST 结构树与 JSON 展示
  • 正则合并为或关系
  • 顶层分支去重
  • 表达式简化([0-9]→\d、{0,1}→? 等)
  • 改前改后对照
  • 样本等价分析,列出差异样本
  • 无法证明等价时不自动修改

高级结构 · 使用方法

  1. 输入正则表达式;
  2. 在 AST 结构树与 JSON 中查看层级结构;
  3. 查看“简化后”结果与改动说明;
  4. 阅读等价分析结论,确认是否采用简化结果;
  5. 使用合并与去重处理多分支正则。

高级结构 · 常见问题

Q:简化和优化会改变语义吗?

工具只应用可安全识别的等价替换,并通过样本等价分析对比;一旦发现差异会提示不等价,且不会自动覆盖原表达式。

Q:“样本等价”等于完全等价吗?

不等于。它表示在测试样本上两者行为一致,属于经验验证;形式化等价证明不在本工具范围内。

Q:合并正则需要什么条件?

合并为或关系,请确认两条正则的锚点与优先级在合并后仍符合预期,必要时用非捕获组包裹。

相关工具

继续使用本站其它正则工具:

正则测试器

实时匹配、高亮、捕获组与位置,旗舰测试工具

打开工具

正则搜索

查找全部、上一个/下一个、当前总数与上下文

打开工具

正则替换

支持 $1/$&/$<name> 引用、替换次数与前后对照

打开工具

正则提取

提取全部匹配/捕获组/命名组,支持去重与排序

打开工具

正则文本处理

保留/分割/合并/重排/格式化,专用文本加工

打开工具

正则生成器

条件生成 + 可视化构造 + 示例推导三种方式

打开工具

常用格式正则

手机号/邮箱/URL/IP/日期/身份证等格式库,生成+验证+表单

打开工具

正则解释器

结构拆解 + 中文逐段解释,点击查看详情

打开工具

正则可视化

结构树 + 流程图,直观展示分组/分支/量词

打开工具

学习与参考

元字符/量词/分组/断言/Flags 速查 + 常用正则 + 各语言

打开工具

正则调试器

诊断匹配失败原因与语法错误,给出修正建议

打开工具

性能与安全

复杂度分析、ReDoS 检测、回溯压力测试,可中止

打开工具

多语言引擎

各语言写法、Flags、特性矩阵与兼容性检查

打开工具

正则转换

转各语言/字符串/JSON,含 Flags 与转义处理

打开工具