我刚开始使用 boost 和 c++,我正在努力理解 boost 的正则表达式引擎在匹配空格时的行为。如果我使用代码:
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);
}