Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

match_results cbegin() add cend() in C++ STL

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
  • 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

My Personal Notes arrow_drop_up
Last Updated : 13 Dec, 2021
Like Article
Save Article
Similar Reads