rgx:189⭐的终端版 regex101 正则测试工具
rgx 把 regex101 搬到了终端里。不用切到浏览器,就能实时测试正则、查看捕获组、调试替换逻辑。
项目概览
| 属性 | 内容 |
|---|---|
| GitHub | brevity1swos/rgx |
| Stars | 189 |
| 语言 | Rust |
| 特点 | 实时匹配、三引擎支持、捕获组可视化、替换模式 |
| 最后更新 | 1天前 |
解决了什么问题
写正则的时候,你大概经历过这套流程:
- 在编辑器里写正则
- 发现不对劲
- 打开浏览器,切到 regex101
- 粘贴测试文本,调试
- 把修好的正则贴回编辑器
rgx 把这个循环压缩成一步:在终端里直接测。对于习惯在 Tmux 或终端 IDE 里工作的开发者,这种无缝体验省掉大量上下文切换。
核心功能
三引擎支持
同时支持 PCRE、JavaScript、Python 三种正则引擎。不同语言的语法差异(比如 \d 和 \\d 的区别)在这里可以直观对比。
实时匹配反馈 输入正则的同时就能看到匹配结果,高亮显示命中部分。捕获组用不同颜色区分,一眼就能看出分组是否正确。
替换模式
不只是测试匹配,还能实时验证替换逻辑。s/old/new/g 的效果在输入时就能预览。
语法解释
把正则翻译成自然语言描述。^\d{3}-\d{4}$ 会显示为 “Start of string, three digits…”,对复杂正则尤其实用。
鼠标支持 虽然是 TUI 应用,但支持鼠标点击选择、滚轮翻页。不想记快捷键也能顺手用。
安装
# 通过 cargo 安装
cargo install rgx
# 或下载预编译二进制
curl -sSL https://github.com/brevity1swos/rgx/releases/latest | grep "rgx-.*-x86_64" | head -1
使用示例
启动后直接输入正则:
rgx
界面分为三栏:上方输入正则,左下输入测试文本,右下实时显示匹配结果和捕获组。
按 Tab 切换引擎,Ctrl+R 进入替换模式,Ctrl+Z 撤销修改。
对比类似工具
| 工具 | 运行环境 | 特点 |
|---|---|---|
| regex101.com | 浏览器 | 功能最全,有调试器 |
| ripgrep | CLI | 搜索工具,非交互式 |
| rgx | 终端 TUI | 实时交互,无需浏览器 |
如果你大部分时间在终端工作,rgx 的流畅度明显优于浏览器方案。
适用场景
- 快速验证从 StackOverflow 复制来的正则
- 调试日志提取规则
- 学习正则语法(配合自然语言解释)
- 编写复杂的文本处理脚本前先做原型验证
局限
- 不支持 regex101 的 Debugger 逐步执行功能
- 正则历史记录不会持久化
- 需要终端支持 256 色才能看到完整高亮效果
总结
rgx 不是第一个终端正则工具,但它在交互细节上做得足够好:实时反馈、鼠标支持、多引擎切换。对于每天和正则打交道的前端/后端开发者,这是一个值得常驻终端的小工具。
| 属性 | 内容 |
|---|---|
| 仓库 | https://github.com/brevity1swos/rgx |
| 许可证 | MIT |
| 语言 | Rust |
| 维护者 | @brevity1swos |