rgx
A terminal regex tester with real-time matching and multi-engine support
Test and debug regular expressions without leaving your terminal. Written in Rust.

Press F1 in the app for a multi-page cheat sheet.
Who is this for?
rgx is useful if you:
- Work on remote servers where opening a browser isn't practical — SSH, containers, air-gapped environments.
- Want to pipe regex results into other commands (
echo "log" | rgx -p '\d+' | sort) — regex101 can't do this. - Need engine-specific behavior — check whether a pattern works in Rust's
regexcrate vs. PCRE2 without guessing. - Prefer staying in the terminal and find the context switch to a browser disruptive.
If you write regex a few times a month and regex101.com works fine for you, it probably still will. rgx is strongest for developers doing regex-heavy work in terminal-centric workflows.
Install
|
Prebuilt binaries are also on GitHub Releases.
# From source
&&
# With PCRE2 engine (requires libpcre2-dev)
See docs/advanced.md for the PCRE2 security note.
Quickstart
| |
Full flag reference, piping recipes, and rgx filter + --json usage:
docs/usage.md.
Features
- Real-time matching with AST-based syntax highlighting and capture-group colors
- 3 regex engines: Rust
regex(default),fancy-regex(lookaround / backrefs), PCRE2 (+ recursion / conditionals) - Auto engine selection — upgrades engines automatically when your pattern needs lookahead, backreferences, or recursion
- Plain-English explanations for any pattern, generated from the AST
- Step-through debugger (Ctrl+D, PCRE2) with backtracking visualization and heatmap mode
- Code generation — Ctrl+G produces ready-to-paste code in 8 languages (Rust, Python, JS, Go, Java, C#, PHP, Ruby)
- Generate regex from examples — Ctrl+X opens a grex overlay
- Live filter mode —
rgx filterstreams stdin/file through a regex TUI, with--jsonJSONL-field extraction - Non-interactive batch mode —
-pwith--count,--group,--json,--color, grep-like exit codes - Vim mode, mouse, pattern history + undo/redo, clipboard copy, whitespace visualization
- Workspaces — save/load regex state to a TOML file (
-w) — track in git - Test suite mode —
rgx --test file.tomlvalidates patterns against assertions in CI - Editor integrations — VS Code, Neovim, Zed, tmux
- Shell completions —
--completions bash|zsh|fish - Cross-platform — Linux, macOS, Windows
Documentation
- Usage — interactive / batch / filter modes, all flags, piping recipes
- Keyboard shortcuts — main TUI, vim mode, filter mode
- Editor integrations — VS Code, Neovim, Zed, tmux
- Advanced — test suite mode, config file, engines deep-dive, comparison matrix
- Roadmap
Engines at a glance
| Engine | Features | Dependencies |
|---|---|---|
Rust regex (default) |
Fast, linear time, Unicode | Pure Rust |
| fancy-regex | + lookaround, backreferences | Pure Rust |
| PCRE2 | + possessive quantifiers, recursion, conditionals | libpcre2 |
Full matrix and comparison against other tools: docs/advanced.md.
Pairs well with
- agx — terminal agent session viewer. When an agent's tool call argument contains a regex, agx will launch rgx for step-through inspection (proposed).
- sift — AI write review
gate. Sift will use rgx for interactive debugging of
.sift/policy.ymlregex rules (planned).
All three tools are independent. Combined, they form stepwise, the terminal-native step-through debugger stack for the AI-development workflow.
Contributing
See CONTRIBUTING.md.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.