I have a regular expression in C++ with Boost which matches lines in multi-line strings. Regex search finds the first match, however I\'m interested in the last line which m
operator[] of match_results returns a sub_match.
sub_match inherits std::pair of iterators.
Its first and second members correspond to matched range.
So, you can use its second for start point of new search.
For example:
string input = "Data1 Data2 Data3";
regex re("(?Data.)");
string::const_iterator begin = input.begin(), end = input.end();
smatch results;
while ( regex_search( begin, end, results, re ) ) {
smatch::value_type r = results["Group"];
begin = r.second;
}
Hope this helps.