ブーストと C++ を使い始めたばかりで、空白の一致に関してブーストの正規表現エンジンの動作を理解するのに苦労しています。コードを使用する場合:
boost::regex rx(" ");
cout << regex_search(" ", rx);
スペースに一致するようにすると、すべてが期待どおりに機能し、regex_search は true を返します。ただし、正規表現を「\s」に置き換えてすべての空白文字に一致させようとすると、一致することはなく、次のコードは常に false を出力します。
boost::regex rx("\\s");
cout << regex_search(" ", rx);
ここで何が欠けていますか?
要求に応じて、ここに私の完全なテスト ケースがあります。
#include <boost/regex.hpp>
#include <iostream>
using namespace std;
int main()
{
boost::regex rx("\\s", boost::regex::icase);
cout << regex_search(" ", rx);
}