Boost.Regex ライブラリの導入
言語と開発環境に戻る。
概要
Boost.Regexは正規表現による文字列の検索・置換の処理を高速かつ多機能にするライブラリです。標準ライブラリのstd::regexもありますが、大きな違いが認められるほどのモノで利用者も多いライブラリです。人気。ですね。Boost.RegexはBoostというライブラリの正規表現に関する部分的なライブラリで、全部を導入しなくててもBoost.Regexだけを単独で、つまりスタンドアローンモードで使うことができるとされています。
ここでは、Boost.Regexのスタンドアローンモードでの導入方法・インストール・ビルド?・設定について記述したいと思います。ただし、記事作成中にあっては、管理人も使い方をわからない手探りで進めていく感じなので、記事が完成するまでは、ただの日記です。難しそうなので、考えながらやっていく感じです。
まずは入手についてですが、github(巨大なソースコード集積siteです)から入手します。https://github.com/boostorg/regexからCodeボタンのDownload ZIPを選択すると一式を入手できます。ログインしていないと簡単にはダウンロード出来ません。
これでBoost.Regexだけを入手できたので、includeディレクトリのファイルとsrcディレクトリのファイルがあれば都度link処理は必要になりますが、Boost.Regexの各種関数が使えるようになります。あとはUnicodeの全てを司るICUライブラリを使うかとかの調整が必要になるのかな。
libファイルがあれば、includeファイルとlibファイルの組み合わせで扱うこともできますが、libファイルを作るにはBoost全体を入手して、Boostrap.batファイルを動かしたあとにb.exeを使ってlibファイルを生成するような手順が必要になります。
srcがあれば、デバッグも内部まで追いかけることができて勉強になったりもしますので、一長一短ですね。何長何短かは考え方次第です。時間があればlibファイルを使う手順もあとで追記してみたいと思います。ここではまず最初にソースとインクルードファイルだけで扱ってみたいと思います。ICUありと無しもね。まずは無しから。
特定のプロジェクトだけで使う場合
Boost.Regexを何度も使うときには、いつでも使えるように、特定のディレクトリにおいておいて、ちょっとプロジェクトを設定すれば使えるみたいにして使うのがオススメですが、特定のプロジェクトだけで使う場合はプロジェクトのフォルダの中にソースとインクルードファイルを読み込ませればよいわけです。具体的にやってみましょう。
Boost.RegexのSampelフォルダにあるコンソールアプリケーションサンプルを動かしてみます。なので、Windowsコンソールアプリケーションを作る要領で新規プロジェクトを作成します。
そしたら、プロジェクトの*.vcxprojファイルのあるフォルダにboost-regexという名前のフォルダを作って、boost.regexのファイル一式のregex-developフォルダの中にあるincludeフォルダとsrcフォルダをboost-regexの中に貼り付けましょう。
そしたらSampleプログラムをコピーしてmain関数が作成された「プロジェクト名.cpp」に貼り付けます。regex-developフォルダの中のexampleフォルダの中のsnippetsフォルダの中のregex_grep_example_1.cppはBoost.Regexだけで動かせるサンプルになっています。exampleフォルダの中のgrepフォルダの中にあるサンプルは動かせません。動かすにはBoost.program_optionsというリポジトリも必要になるためです。なので、Boost.Regexのリポジトリからもってきたファイル一式だからといって、exampleフォルダにある全部が動かせるとは限らないことに注意が必要です。
regex_grep_example_1.cppの中身をペロッと貼り付けます。
そしたら、以下のようにプロジェクトを設定します。
言語と開発環境に戻る。