基于 Racket 开发的跨平台 GUI 正则表达式工具,支持 AI 辅助构建正则。RegexMate 同时提供 Agent 友好的 CLI 模式,输出结构化 JSON。
English · 中文
- validate —— 验证正则语法是否有效
- match —— 匹配测试,终端高亮显示匹配结果
- explain —— 将正则表达式拆解为人类可读的说明
- graph —— 生成 railroad diagram(SVG 格式)
- JSON 模式 —— 结构化输出,方便 agent 解析(
--json)
| 依赖 | 用途 / 版本 |
|---|---|
| Racket | 已测试 v9.0 |
git clone https://github.com/turinglambdaai/regexmate.git
cd regexmate# 验证正则语法
racket main.rkt validate '^\d+$'
racket main.rkt validate '^\d+$' --json
# 匹配测试
racket main.rkt match '\d+' 'abc 123 def 456'
racket main.rkt match '\d+' 'abc 123 def 456' --json
# 解释正则各部分
racket main.rkt explain '\d{2,4}'
racket main.rkt explain '\d{2,4}' --json
# 生成 railroad diagram
racket main.rkt graph 'a|b' -o diagram.svgvalidate:
{"pattern":"^\\d+$","valid":true}match:
{"pattern":"\\d+","text":"abc 123 def 456","matches":[{"value":"123","start":4,"end":7},{"value":"456","start":12,"end":15}],"count":2}explain:
{"pattern":"\\d{2,4}","parts":[{"type":"re-quantifier","description":"数字 (\\d) × {2,4}","raw":"\\d{2,4}"}]}regexmate/
├── main.rkt # CLI 入口
├── run-tests.rkt # 测试运行器
├── core/
│ ├── ast.rkt # 正则 AST 数据结构
│ ├── regex-engine.rkt # 验证与匹配引擎
│ └── regex-parser.rkt # 递归下降解析器
├── output/
│ ├── highlight.rkt # ANSI 终端高亮
│ ├── json-format.rkt # JSON 输出格式化
│ ├── human-format.rkt # 人类可读输出
│ └── railroad.rkt # SVG railroad diagram 生成器
└── tests/
├── test-regex-engine.rkt
├── test-regex-parser.rkt
├── test-highlight.rkt
└── test-json-format.rkt
# 运行测试
racket run-tests.rkt
# 运行 CLI
racket main.rkt <command> <args>基于 MIT License 开源。