logo
0
0
WeChat Login

RegexVision

一款优雅的正则表达式可视化与调试工具

帮助你直观理解正则逻辑、实时测试匹配结果

Star Fork Release Build Status Deploy License: MIT React Vite

在线演示 · 报告 Bug · 功能建议


📸 截图预览

RegexVision 演示

✨ 功能特性

  • 🎨 正则输入 — 带有 /pattern/flags 风格的输入框,支持 g i m s u 标志位一键切换
  • 📋 预设模板 — 内置邮箱、手机号、URL、IP 地址、HTML 标签、日期等常用正则,开箱即用
  • 🔍 可视化解析 — 将正则表达式解析为 AST,以铁路图形式展示:
    • 字面量、点号、字符类、简写(\d\w\s
    • 捕获组 / 非捕获组 / 命名组 / 前瞻后顾
    • 量词(*+?{n,m})及贪婪/非贪婪模式
    • 交替(|)分支、锚点(^$)、反向引用
  • 💡 自然语言解释 — 用人话解读正则表达式的含义,降低理解门槛
  • ⚡ 实时匹配 — 输入测试文本后即时高亮所有匹配项
  • 📊 匹配详情 — 展示每个匹配的位置、捕获组内容
  • 🔗 分享功能 — 一键生成可分享的链接
  • 🌙 深色/浅色主题 — 支持主题切换,舒适的视觉体验
  • 📤 导出功能 — 支持将铁路图导出为 SVG / PNG

🚀 快速开始

环境要求

  • Node.js >= 22.12.0

安装与运行

# 克隆项目 git clone https://cnb.cool/hakurei/RegexVision.git cd regex-show # 安装依赖 npm install # 启动开发服务器 npm run dev

浏览器访问 http://localhost:5173 即可使用。

构建部署

# 构建生产版本 npm run build # 预览构建产物 npm run preview

📁 项目结构

src/ ├── utils/ │ └── regexParser.js # 正则表达式 AST 解析器 ├── hooks/ │ ├── useRegex.js # 正则编译 / 匹配逻辑 Hook │ └── useTheme.js # 主题切换 Hook ├── components/ │ ├── RegexInput.jsx # 正则输入 + 标志位 + 预设模板 │ ├── TestArea.jsx # 测试文本输入区域 │ ├── MatchResult.jsx # 匹配高亮 + 详情列表 │ ├── RegexVisualizer.jsx # AST 铁路图可视化 │ ├── RegexExplainer.jsx # 自然语言解释器 │ ├── ShareButton.jsx # 分享功能 │ └── ThemeToggle.jsx # 主题切换 ├── App.jsx # 主布局 ├── App.css # 组件样式 ├── index.css # 全局主题样式 └── main.jsx # 应用入口

🐳 Docker 部署

项目使用 Caddy 作为静态文件服务器,支持一键 Docker 部署:

# 构建镜像 docker build -t regex-vision . # 运行容器 docker run -d --name regex-vision --restart unless-stopped -p 80:80 regex-vision

生产级 Caddy 配置包含:

  • Gzip / Zstd 压缩
  • 静态资源长期缓存(带 hash 文件 1 年不可变)
  • CSP / HSTS / Permissions-Policy 等安全响应头
  • SPA 路由回退
  • /health 健康检查端点
  • 非 root 用户运行

🔧 技术栈

类别技术
框架React 19
构建Vite 8
Web 服务Caddy 2
容器化Docker
CI/CDCNB 云原生构建

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交你的修改 (git commit -m 'feat: add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 发起 Pull Request

📄 License

本项目基于 MIT License 开源。

About

🔍 正则表达式可视化工具 — 铁路图解析、实时匹配高亮、自然语言解释,让正则不再难懂

916.00 KiB
0 forks0 stars1 branches1 TagREADMEMIT license
Language
JavaScript70.7%
CSS27.4%
Dockerfile1.3%
HTML0.7%