{"id":45450296,"url":"https://github.com/brevity1swos/rgx","last_synced_at":"2026-06-06T18:00:31.943Z","repository":{"id":339883192,"uuid":"1163713389","full_name":"brevity1swos/rgx","owner":"brevity1swos","description":"regex101 for the terminal — real-time matching, 3 engines, capture groups, replace mode, syntax highlighting, plain-English explanations, undo/redo, mouse support. Written in Rust.","archived":false,"fork":false,"pushed_at":"2026-05-30T15:53:23.000Z","size":29957,"stargazers_count":208,"open_issues_count":2,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-30T17:22:28.499Z","etag":null,"topics":["cli","command-line","cross-platform","developer-tools","linux","macos","pcre2","productivity","regex","regex-debugger","regex-tester","rust","terminal","text-processing","tui","windows"],"latest_commit_sha":null,"homepage":"https://github.com/brevity1swos/rgx","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brevity1swos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":[]}},"created_at":"2026-02-22T02:55:33.000Z","updated_at":"2026-05-30T15:52:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/brevity1swos/rgx","commit_stats":null,"previous_names":["brevity1swos/rgx"],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/brevity1swos/rgx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brevity1swos%2Frgx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brevity1swos%2Frgx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brevity1swos%2Frgx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brevity1swos%2Frgx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brevity1swos","download_url":"https://codeload.github.com/brevity1swos/rgx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brevity1swos%2Frgx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33993195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","cross-platform","developer-tools","linux","macos","pcre2","productivity","regex","regex-debugger","regex-tester","rust","terminal","text-processing","tui","windows"],"created_at":"2026-02-22T05:04:42.950Z","updated_at":"2026-06-06T18:00:31.937Z","avatar_url":"https://github.com/brevity1swos.png","language":"Rust","funding_links":[],"categories":["Rust","Applications","💻 Apps"],"sub_categories":["Text processing","🚀 Productivity and Utilities"],"readme":"\u003cdiv align=\"center\"\u003e\n\n# rgx\n\n**A regex debugger for the terminal — step-through execution, 3 engines, code generation, and live stream filtering**\n\n[![CI](https://github.com/brevity1swos/rgx/actions/workflows/ci.yml/badge.svg)](https://github.com/brevity1swos/rgx/actions/workflows/ci.yml)\n[![Crates.io](https://img.shields.io/crates/v/rgx-cli.svg)](https://crates.io/crates/rgx-cli)\n[![Downloads](https://img.shields.io/crates/d/rgx-cli.svg)](https://crates.io/crates/rgx-cli)\n[![License](https://img.shields.io/crates/l/rgx.svg)](LICENSE-MIT)\n\nTest and debug regular expressions without leaving your terminal. Written in Rust.\n\n![demo](https://raw.githubusercontent.com/brevity1swos/rgx/main/assets/demo.gif?v=7)\n\n*Press F1 in the app for a multi-page cheat sheet.*\n\n\u003c/div\u003e\n\n---\n\n## Who is this for?\n\nrgx is useful if you:\n\n- **Work on remote servers** where opening a browser isn't practical — SSH, containers, air-gapped environments.\n- **Want to pipe regex results** into other commands (`echo \"log\" | rgx -p '\\d+' | sort`) — regex101 can't do this.\n- **Need engine-specific behavior** — check whether a pattern works in Rust's `regex` crate vs. PCRE2 without guessing.\n- **Prefer staying in the terminal** and find the context switch to a browser disruptive.\n\nIf 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.\n\n## Install\n\n```bash\ncargo install rgx-cli                                         # crates.io\nbrew install brevity1swos/tap/rgx                             # Homebrew\nyay -S rgx-cli                                                # AUR\ncurl --proto '=https' --tlsv1.2 -LsSf \\\n  https://github.com/brevity1swos/rgx/releases/latest/download/rgx-installer.sh | sh\n```\n\nPrebuilt binaries are also on [GitHub Releases](https://github.com/brevity1swos/rgx/releases/latest).\n\n\u003cdetails\u003e\n\u003csummary\u003eBuild from source / enable PCRE2\u003c/summary\u003e\n\n```bash\n# From source\ngit clone https://github.com/brevity1swos/rgx.git\ncd rgx \u0026\u0026 cargo install --path .\n\n# With PCRE2 engine (requires libpcre2-dev)\ncargo install rgx-cli --features pcre2-engine\n```\n\nSee [docs/advanced.md](docs/advanced.md#building-with-pcre2) for the PCRE2 security note.\n\n\u003c/details\u003e\n\n## Quickstart\n\n```bash\nrgx                                   # interactive TUI\nrgx '\\d{3}-\\d{3}-\\d{4}'               # start with a pattern\necho \"Call 555-123-4567\" | rgx '\\d+'  # stdin as test string\nrgx -p -t \"error 404\" '\\d+'           # batch mode (non-interactive)\ncat app.jsonl | rgx filter --json '.msg' 'error'   # live stream filter on a JSON field\n```\n\nFull flag reference, piping recipes, and `rgx filter` + `--json` usage:\n**[docs/usage.md](docs/usage.md)**.\n\n## Features\n\n- **Step-through debugger** (Ctrl+D, PCRE2) — backtracking visualization, heatmap mode, dual-cursor trace\n- Real-time matching with AST-based syntax highlighting and capture-group colors\n- **3 regex engines**: Rust `regex` (default), `fancy-regex` (lookaround / backrefs), PCRE2 (+ recursion / conditionals)\n- **Auto engine selection** — upgrades engines automatically when your pattern needs lookahead, backreferences, or recursion\n- **Plain-English explanations** for any pattern, generated from the AST\n- **Code generation** — Ctrl+G produces ready-to-paste code in 8 languages (Rust, Python, JS, Go, Java, C#, PHP, Ruby)\n- **Generate regex from examples** — Ctrl+X opens a [grex](https://crates.io/crates/grex) overlay\n- **Live filter mode** — `rgx filter` streams stdin/file through a regex TUI, with `--json` JSONL-field extraction\n- **Test suite mode** — `rgx --test file.toml` validates patterns against assertions in CI\n- **Non-interactive batch mode** — `-p` with `--count`, `--group`, `--json`, `--color`, grep-like exit codes\n- **Benchmark mode** — Ctrl+B compares compile and match time across all engines\n- **regex101.com export** — Ctrl+U copies a shareable regex101 URL to clipboard\n- **Output pattern mode** — `-P` prints the final pattern after an interactive session (`eval $(rgx -P)`)\n- **Vim mode**, **mouse**, **pattern history + undo/redo**, **clipboard copy**, **whitespace visualization**\n- **Workspaces** — save/load regex state to a TOML file (`-w`) — track in git\n- **Editor integrations** — VS Code, Neovim, Zed, tmux\n- **Shell completions** — `--completions bash|zsh|fish`\n- **Cross-platform** — Linux, macOS, Windows\n\n## Documentation\n\n- **[Usage](docs/usage.md)** — interactive / batch / filter modes, all flags, piping recipes\n- **[Keyboard shortcuts](docs/shortcuts.md)** — main TUI, vim mode, filter mode\n- **[Editor integrations](docs/integrations.md)** — VS Code, Neovim, Zed, tmux\n- **[Advanced](docs/advanced.md)** — test suite mode, config file, engines deep-dive, comparison matrix\n\n## Engines at a glance\n\n| Engine | Features | Dependencies |\n|--------|----------|--------------|\n| **Rust `regex`** (default) | Fast, linear time, Unicode | Pure Rust |\n| **fancy-regex** | + lookaround, backreferences | Pure Rust |\n| **PCRE2** | + possessive quantifiers, recursion, conditionals | `libpcre2` |\n\nFull matrix and comparison against other tools: [docs/advanced.md](docs/advanced.md#comparison-vs-terminal-alternatives).\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE))\n- MIT License ([LICENSE-MIT](LICENSE-MIT))\n\nat your option.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrevity1swos%2Frgx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrevity1swos%2Frgx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrevity1swos%2Frgx/lists"}