テストとサンプルプログラム
テストプログラム
- regress:
退行テストアプリケーションはマッチ・検索アルゴリズムを完全にテストする。このプログラムが存在することにより、ライブラリが要求どおりに動作する(少なくともテストにある項目はテストされている)ことが保証される。未テストの項目を発見された方がおられたら、よろこんで拝聴するしだいである。
ファイル:
- bad_expression_test:
「不正な」正規表現により無限ループが発生せず、例外が投げられることを検証する。
- recursion_test:
(正規表現が何であるかに関わらず)スタックオーバーランを起こさないことを検証する。
ファイル:recursion_test.cpp
- concepts:
ライブラリがドキュメントにあるコンセプトをすべて満たしているか検証する(コンパイルのみのテスト)。
ファイル:concept_check.cpp
- capture_test:
捕捉をテストするコード。
ファイル:capture_test.cpp
サンプルプログラム
- grep
簡単な grep の実装。
-h
コマンドラインオプションを付けて走らせると使用法が表示される。ファイル:grep.cpp
- timer.exe
簡単な対話式の正規表現マッチアプリケーション。結果はすべて計時される。効率が問題となる場合に、プログラマはこのプログラムを使って正規表現の最適化を行うことができる。
ファイル:regex_timer.cpp
コード片
コード片の例は本ドキュメントで使用したコード例である。
captures_example.cpp:捕捉のデモンストレーション。
credit_card_example.cpp:クレジットカード番号の書式化コード。
partial_regex_grep.cpp:部分マッチを使った検索の例。
partial_regex_match.cpp:
regex_match
で部分マッチを使った例。regex_iterator_example.cpp:マッチの一連を反復する。
regex_match_example.cpp:FTP を題材にした
regex_match
の例。regex_merge_example.cpp:
regex_merge
の例。C++ ファイルを、構文強調した HTML に変換する。 1regex_replace_example.cpp:
regex_replace
の例。C++ ファイルを、構文強調した HTML に変換する。regex_search_example.cpp:
regex_search
の例。cpp ファイルからクラス定義を検索する。regex_token_iterator_eg_1.cpp:文字列をトークン列に分割する。
regex_token_iterator_eg_2.cpp:HTML ファイル内の URL リンクを列挙する。
以下は非推奨である。
regex_grep_example_1.cpp:cpp ファイルからクラス定義を検索する。
regex_grep_example_2.cpp:cpp ファイルからクラス定義を検索する。グローバルなコールバック関数を使用している。
regex_grep_example_3.cpp:cpp ファイルからクラス定義を検索する。束縛したメンバ関数のコールバックを使用している。
regex_grep_example_4.cpp:cpp ファイルからクラス定義を検索する。C++ Builder のクロージャをコールバックに使用している。
regex_split_example_1.cpp:文字列をトークンに分割する。
regex_split_example_2.cpp:リンクした URL を分割する。
- 1
訳注
regex_merge
は非推奨機能の 1 つです。本文書(日本語訳)には記述はありません。