-
match_results::cbegin() is an inbuilt function in C++ STL which returns a constant iterator that points to the first match in the match_results object. This iterator cannot modify the contents of the vector.
Syntax:
smatch_name.cbegin()
-
Parameters: This function does not accept any parameters.
Return value: This function returns a constant iterator pointing to the first match in the match_results object. The matches contained in the match_results object are always constant.
Note: First element always contains the whole regex match while the others contain the particular Capturing Group.
Below program illustrate the above function.
CPP
// C++ program to illustrate the // match_result function #include <bits/stdc++.h> using namespace std;
int main()
{ string sp( "geeksforgeeks" );
regex re( "(geeks)(.*)" );
smatch match;
// we can use member function on match
// to extract the matched pattern.
std::regex_match(sp, match, re);
// The size() member function indicates the
// number of capturing groups plus one for the overall match
// match size = Number of capturing group + 1
// (.*) which "forgeeks" ).
cout << "Match size = " << match.size() << endl;
cout << "matches:" << endl;
for (smatch::iterator it = match.cbegin(); it != match.cend(); ++it)
cout << *it << endl;
return 0;
} |
- Output:
Match size=3 matches: geeksforgeeks geeks forgeeks
-
smatch::cend() is an inbuilt function in C++ STL which returns a constant iterator that points to the past-the-end match in the match_results object. This iterator cannot modify the contents of the vector.
Syntax:
smatch_name.cend()
-
Parameters: This function does not accept any parameters.
Return value: This function returns a constant iterator pointing to the past-the-end match in the match_results object. The matches contained in the match_results object are always constant.
Note: First element always contains the whole regex match while the others contain the particular Capturing Group.
Below program illustrate the above function
CPP
// C++ program to illustrate the // match_results cend() function #include <bits/stdc++.h> using namespace std;
int main()
{ string sp( "matchresult" );
regex re( "(match)(.*)" );
smatch match;
// we can use member function on match
// to extract the matched pattern.
std::regex_match(sp, match, re);
// The size() member function indicates the
// number of capturing groups plus one for the overall match
// match size = Number of capturing group + 1
// (.*) which "results" ).
cout << "Match size = " << match.size() << endl;
cout << "matches:" << endl;
for (smatch::iterator it = match.cbegin(); it != match.cend(); ++it)
cout << *it << endl;
return 0;
} |
- Output:
Match size=3 matches: matchresults match results