【发布时间】:2014-03-12 11:04:32
【问题描述】:
我正在尝试使用 boost regex 库匹配 XXX >|=| 形式的字符串。我下面的代码显示我正在尝试匹配“x.y
boost::regex e("(.+?) *(>=|<=|==|>|<) *(.+)");
boost::smatch what;
if (boost::regex_match(std::string("x.y<123"), what, e)) {
for (int i = 0; i < what.size(); ++ i)
std::cout << std::string(what[i]) << std::endl;
}
else
std::cout << "Fail matching" << std::endl;
【问题讨论】:
-
您的正则表达式看起来不错,但您是否使用了匹配函数的最后一个参数
match_flag_type默认行为可以解释为什么您没有得到“ -
@alexbuisson:我使用默认行为获得了相同的结果。