match_results size() in C++ STL
The match_results size() is a inbuilt function in C++ which returns the number of matches ans sub-matches in the match_result object.
Syntax:
smatch_name.size() Note: smatch_name is an object of match_results class.
Parameters: The function accept no parameters.
Return value: It returns the number of matches in the match_result object.
Note: First element always contains the whole regex match while the others contain the particular Capturing Group
Below programs illustrate the above function.
Program 1:
CPP
// CPP program to illustrate // match_results size() in C++ #include <bits/stdc++.h> using namespace std; int main() { string s( "w3wiki" ); regex re( "(Beginner)(.*)" ); smatch match; // Function call to find match regex_match(s, match, re); cout << "match size is " << match.size() << endl; return 0; } |
Output:
match size is 3
Program 2:
CPP
// CPP program to illustrate // match_results size() in C++ #include <bits/stdc++.h> using namespace std; int main() { string s( "w3wiki" ); regex re( "(Beginner)(.*)" ); smatch match; // Function call to find matches regex_match(s, match, re); cout << "match size is " << match.size() << endl; for ( int i = 0; i < match.size(); i++) { cout << "match " << i << " has a length of " << match.length(i) << endl; } return 0; } |
Output:
match size is 3 match 0 has a length of 13 match 1 has a length of 5 match 2 has a length of 8