1: //learn_regex2.cpp
3: #include <iostream>
4: using std::cout;
5: using std::endl;
6: using std::boolalpha;
8: #include <string>
9: using std::string;
11: #include <regex>
12: using std::regex;
13: using std::smatch; //This is new
15: int main()
16: {
17: cout << boolalpha;
19: string pattern("abc");
20: regex r(pattern);
22: smatch m;
24: cout << string(20, '=');
25: string data1("abc");
26: cout << regex_match(data1, m, r) << endl;
27: cout
28: << m[0] << " "
29: << m.str() << " "
30: << m.str(0) << " "
31: << m[0].str() << " "
32: << *(m.begin()) << " "
33: << *m.begin() << " "
34: << endl;
36: cout << string(20, '=');
37: cout << regex_search(data1, m, r) << endl;
38: cout
39: << m[0] << " "
40: << m.str() << " "
41: << m.str(0) << " "
42: << m[0].str() << " "
43: << *(m.begin()) << " "
44: << *m.begin() << " "
45: << endl;
47: cout << string(20, '=');
48: string data2("xabcy");
49: cout << regex_search(data2, m, r) << endl;
50: cout
51: << m[0] << " "
52: << m.str() << " "
53: << m.str(0) << " "
54: << m[0].str() << " "
55: << *(m.begin()) << " "
56: << *m.begin() << " "
57: << endl;
58: }
59: /*Output:
60: ====================true
61: abc abc abc abc abc abc
62: ====================true
63: abc abc abc abc abc abc
64: ====================true
65: abc abc abc abc abc abc
66: */