1: //learn_regex1.cpp
3: #include <iostream>
4: #include <string>
5: #include <regex> //for regex
6: using namespace std;
7: using namespace std::regex_constants;
8: //for format_first_only, format_no_copy
10: int main()
11: {
12: cout << boolalpha;
14: string pattern("abc");
15: regex r(pattern);
17: cout << string(20,'=') << endl;
18: string data1("abc");
19: cout << regex_match(data1, r) << endl;
20: cout << regex_search(data1, r) << endl;
22: cout << string(20,'=') << endl;
23: string data2("xabcy");
24: cout << regex_match(data2, r) << endl;
25: cout << regex_search(data2, r) << endl;
27: cout << string(20,'=') << endl;
28: string format("def");
29: cout << regex_replace(data1, r, format) << endl;
30: cout << regex_replace(data2, r, format) << endl;
31: cout << regex_replace(data2, r, format, format_no_copy) << endl;
33: cout << string(20,'=') << endl;
34: string data3("xabcyabcz");
35: cout << regex_replace(data3, r, format) << endl;
36: cout << regex_replace(data3, r, format, format_first_only) << endl;
37: }
38: /*Output:
39: ====================
40: true
41: true
42: ====================
43: false
44: true
45: ====================
46: def
47: xdefy
48: def
49: ====================
50: xdefydefz
51: xdefyabcz
52: */