rgx
regex101, but in your terminal
A terminal regex debugger with real-time matching, capture group highlighting, and plain-English explanations. Written in Rust.

Features
- Real-time matching — matches update on every keystroke
- 3 regex engines — Rust
regex(default),fancy-regex(lookaround/backrefs), PCRE2 (full features) - Capture group highlighting — distinct colors per group, nested group support
- Plain-English explanations — walks the regex AST to generate human-readable breakdowns
- Engine selector — switch engines with Ctrl+E, see where behavior differs
- Regex flags — toggle case-insensitive, multiline, dotall, unicode, extended
- Stdin pipe support —
echo "test string" | rgx '\d+' - Cross-platform — Linux, macOS, Windows
Installation
From crates.io
From prebuilt binaries
Download from GitHub Releases.
Shell installer
|
Homebrew
From source
Without PCRE2 (zero C dependencies)
Usage
# Interactive mode
# Start with a pattern
# Pipe text from stdin
|
# Use a specific engine
# With flags
Keyboard Shortcuts
| Key | Action |
|---|---|
Tab |
Switch between pattern / test string |
Ctrl+E |
Cycle regex engine |
Alt+i |
Toggle case-insensitive |
Alt+m |
Toggle multi-line |
Alt+s |
Toggle dot-matches-newline |
Alt+u |
Toggle unicode mode |
Alt+x |
Toggle extended mode |
? |
Show help |
Esc |
Quit |
Engines
| Engine | Features | Dependencies |
|---|---|---|
| Rust regex (default) | Fast, linear time, Unicode | Pure Rust |
| fancy-regex | + lookaround, backreferences | Pure Rust |
| PCRE2 | + possessive quantifiers, recursion, conditionals | Requires libpcre2 |
Comparison
| Feature | rgx | regex-tui | rexi | regex101.com |
|---|---|---|---|---|
| Real-time matching | Yes | Yes | Yes | Yes |
| Multiple engines | 3 | 2 | 1 | 8 |
| Capture group highlighting | Yes | No | No | Yes |
| Plain-English explanations | Yes | No | No | Yes |
| Regex flags toggle | Yes | Yes | No | Yes |
| Stdin pipe support | Yes | Yes | Yes | No |
| Offline / no browser | Yes | Yes | Yes | No |
| Cross-platform binary | Yes | Yes | No | N/A |
Configuration
rgx looks for a config file at ~/.config/rgx/config.toml:
= "rust" # "rust", "fancy", or "pcre2"
Contributing
See CONTRIBUTING.md for details.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.