rgx は regex101 をターミナルに持ち込んだツールです。ブラウザを開かずに正規表現のテスト、キャプチャグループの確認、置換ロジックのデバッグができます。

プロジェクト概要

属性内容
GitHubbrevity1swos/rgx
Stars189
言語Rust
特徴リアルタイムマッチング、3エンジン対応、キャプチャグループ可視化、置換モード
最終更新1日前

解決する問題

正規表現を書いているとき、こんなフローを経験したことがあるでしょう:

  1. エディタで正規表現を書く
  2. 動かないことに気づく
  3. ブラウザを開いて regex101 に切り替える
  4. テキストを貼り付けてデバッグ
  5. 修正した正規表現をエディタに戻す

rgx はこのサイクルを1ステップに圧縮します:ターミナルで直接テストできるのです。Tmux やターミナル IDE で作業している開発者にとって、このシームレスな体験はコンテキストスイッチを大幅に減らします。

核心機能

3エンジン対応 PCRE、JavaScript、Python の3つの正規表現エンジンを同時にサポート。言語ごとの構文の違い(例:\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

画面は3分割されています:上部に正規表現、左下にテストテキスト、右下にリアルタイムのマッチ結果とキャプチャグループが表示されます。

Tab でエンジンを切り替え、Ctrl+R で置換モードに入り、Ctrl+Z で変更を元に戻します。

類似ツールとの比較

ツール実行環境特徴
regex101.comブラウザ機能が最も充実、デバッガーあり
ripgrepCLI検索ツール、非対話型
rgxターミナル TUIリアルタイム対話、ブラウザ不要

ターミナル作業が中心なら、rgx の流暢さはブラウザベースのソリューションを大きく上回ります。

適用シーン

  • StackOverflow からコピーした正規表現の迅速な検証
  • ログ抽出ルールのデバッグ
  • 正規表現構文の学習(自然言語解説付き)
  • 複雑なテキスト処理スクリプトを書く前のプロトタイプ検証

制限事項

  • regex101 の Debugger のステップ実行機能は非対応
  • 正規表現の履歴は永続化されない
  • 256色対応ターミナルが必要でないと完全なハイライト効果が得られない

まとめ

rgx は最初のターミナル正規表現ツールではありませんが、インタラクションのディテールが十分に洗練されています:リアルタイムフィードバック、マウスサポート、マルチエンジン切り替え。毎日正規表現と向き合うフロントエンド/バックエンド開発者にとって、ターミナルに常駐させておく価値のある小さなツールです。


属性内容
リポジトリhttps://github.com/brevity1swos/rgx
ライセンスMIT
言語Rust
保守者@brevity1swos