5
我在C++中使用Boost的正则表达式来匹配多行字符串中的行。正则表达式搜索找到第一个匹配,但是我对匹配的最后一行感兴趣。用Boost :: Regex获取最后一场比赛
我现在使用的代码是这样的:
matched = boost::regex_search(input, results, regex);
if (!matched) {
return -1; // error code
}
matched_string = results["Group"];
如果regex
是"(?<Group>Data.)"
和input
是"Data1 Data2 Data3"
,然后matched_string
现在"Data1"
。我希望它是"Data3"
。
使用'smatch :: const_reference r = results [“Group”]'应该避免一些不必要的复制。 – maxschlepzig 2012-03-21 08:32:19