文章などの文字列の一部を抜き出したり、置換したりする時に、正規表現が使えたら便利ですよね。
でも、よほど精通している人でない限り、なかなか期待通りの正規表現は作れません。
多くの方は、試行錯誤しながら作り上げているのではないでしょうか。
そんな時、今考えた正規表現が期待通りに動作するのかをサッと試せたら便利ですよね。
世の中には正規表現のテストができるWebサイトもいくつか存在しますが、機能的に単純なものが多いのが現状です。
ということで、今回は入力した正規表現を簡単に試すことができる「正規表現テストツール」を作ってみました。
実行ファイル
実際の実行ファイルは下記からダウンロードできます。
ZIPファイルで圧縮していますので、任意のフォルダに解凍後、RegexTest.exe を実行して下さい。
画面の操作説明
まず、使い方を簡単に解説したいと思います。
画面レイアウトは次の通りです。

基本操作
では、最初に動画で基本操作を把握しておきましょう。

文書で書くと次の様になります。
- 画面上端の「抽出」と「置換」のラジオボタンがあるので、どちらかを選択する。
- 「正規表現欄」に正規表現のパターンを入力する。
- ラジオボタンで「置換」を選択した場合、「置換文字列欄」置換する文字列を入力する。
- 画面中央の上限にある大きなテキストボックスの上段に、処理したい文字列を入力するか、ファイルをドラッグ&ドロップする。
- 正規表現のオプションで必要なものがあれば、チェックする。
- 「実行」ボタンをクリックする
- 処理結果が画面中央のテキストボックス下段に表示される。
ソースコード表示
「実行」ボタンをクリックした時点で、入力した正規表現のパターンやオプションのチェック状態からC#のソースコードを自動生成し、「ソースコード欄」に表示します。
ここはテキストボックスになっているので、この部分をコピーし、自分のソースコード上にペースト出来ます。
あとは必要な記述(new や代入先の変数、using System.Text.RegularExpressions を冒頭に記述していない場合、System.Text.RegularExpressionsなど)を追記して下さい。
1 2 3 4 5 |
//冒頭にusing System.Text.RegularExpressionsが記述されている場合 var regex = new Regex("abc.*?/",RegrexOptions.Multiline); /冒頭にusing System.Text.RegularExpressionsが記述されていない場合 var regex = new System.Text.RegularExpressions.Regex("abc.*?/",System.Text.RegularExpressions.RegrexOptions.Multiline); |
ヘルプ表示
画面右上の「ヘルプを表示」チェックボックスにチェックを入れると、画面中央の右半分に正規表現の簡単な解説が表示されます。
これは、RegexText.exe と同じ場所にある Help.txt の内容を表示していますので、必要に応じて書き換えを行う事ができます。
入力内容の自動保存と復元
ラジオボタン、チェックボックス、テキストボックスの内容は、画面終了時に保存され、次回起動時に復元されるようになっています。
これは RegexText.exe と同じ場所にある ControlValues.xml に xml形式で保存されています。
これは正規表現を作成している最中に作業を中断する場合に便利な機能です。
まとめ
以上で操作方法の説明は終了です。
正規表現の対象となるファイルをドラッグ&ドロップし、正規表現を修正しては実行するという作業が簡単になるので、勉強だけに留まらず、自分のプログラムに組み込む前の動作検証という使い方も可能です。
簡単なヘルプ表示機能があるので、よく使うパターンをヘルプで表示するようにすれば、次回からの作業がはかどると思います。
次回はソースコードについて解説しますので、例えば「クリップボードにコピーボタン」を追加したり、「クリア」ボタンを追加する等で、自分の用途に合った修正を行ってみては如何でしょうか。