rgx:189⭐のターミナル版 regex101 正規表現テストツール
rgx は regex101 をターミナルに持ち込んだツールです。ブラウザを開かずに正規表現のテスト、キャプチャグループの確認、置換ロジックのデバッグができます。
プロジェクト概要
| 属性 | 内容 |
|---|---|
| GitHub | brevity1swos/rgx |
| Stars | 189 |
| 言語 | Rust |
| 特徴 | リアルタイムマッチング、3エンジン対応、キャプチャグループ可視化、置換モード |
| 最終更新 | 1日前 |
解決する問題
正規表現を書いているとき、こんなフローを経験したことがあるでしょう:
- エディタで正規表現を書く
- 動かないことに気づく
- ブラウザを開いて regex101 に切り替える
- テキストを貼り付けてデバッグ
- 修正した正規表現をエディタに戻す
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 | ブラウザ | 機能が最も充実、デバッガーあり |
| ripgrep | CLI | 検索ツール、非対話型 |
| rgx | ターミナル TUI | リアルタイム対話、ブラウザ不要 |
ターミナル作業が中心なら、rgx の流暢さはブラウザベースのソリューションを大きく上回ります。
適用シーン
- StackOverflow からコピーした正規表現の迅速な検証
- ログ抽出ルールのデバッグ
- 正規表現構文の学習(自然言語解説付き)
- 複雑なテキスト処理スクリプトを書く前のプロトタイプ検証
制限事項
- regex101 の Debugger のステップ実行機能は非対応
- 正規表現の履歴は永続化されない
- 256色対応ターミナルが必要でないと完全なハイライト効果が得られない
まとめ
rgx は最初のターミナル正規表現ツールではありませんが、インタラクションのディテールが十分に洗練されています:リアルタイムフィードバック、マウスサポート、マルチエンジン切り替え。毎日正規表現と向き合うフロントエンド/バックエンド開発者にとって、ターミナルに常駐させておく価値のある小さなツールです。
| 属性 | 内容 |
|---|---|
| リポジトリ | https://github.com/brevity1swos/rgx |
| ライセンス | MIT |
| 言語 | Rust |
| 保守者 | @brevity1swos |