0

起動する必要があると思われるブースト正規表現コードがいくつかあります。ブーストは初めてですが、正規表現については少し知っています。これが私が使用しているコードです。

re = boost::basic_regex<TCHAR>(_T("-+\\s+Original\\s+Message\\s+-+"), boost::regex_constants::icase);
boost::match_results<TSTRING::const_iterator> result;
if(boost::regex_match(RawBody, result, re))

これが私が使用しているテスト文字列です。

this is a test

-------- Original Message --------

everything under here should disappear

私のコードはコンパイルして実行されますが、if ステートメントがトリガーされません。ブーストコードにデバッグしてみました...ええ...

4

1 に答える 1

1

regex_match

アルゴリズムregex_matchは、特定の正規表現が、双方向イテレータのペアで示される特定の文字シーケンスのすべてに一致するかどうかを判断します。アルゴリズムは次のように定義されます。この関数の主な用途は、データ入力の検証です。

regex_search

アルゴリズムregex_searchは、双方向イテレータのペアで示される範囲で、指定された正規表現を検索します。アルゴリズムはさまざまなヒューリスティックを使用して、一致がその位置で開始される可能性がある場合にのみ一致をチェックすることにより、検索時間を短縮します。アルゴリズムは次のように定義されています。

したがって、を使用しますboost::regex_search。例。

http://liveworkspace.org/code/fa35778995c4bd1e191c785671ab94b6

于 2012-08-01T21:06:06.413 に答える