練習17.24
編寫你自己版本的重排**號碼格式的程式。
解答:這個參考書中實現。
練習17.25
重寫你的**號碼程式,使之只輸出每個人的第乙個**號碼。
解答:
#include #include #include #include using namespace std;
using namespace std::regex_constants;
int main();
string phone = "(\\()?(\\d)(\\))?([-. ])?(\\d)([-. ])?(\\d)";
regex r(phone);
smatch m;
string s, first;
string fmt = "$2.$5.$7";
for (int i = 0; i != 3; ++i)
}
練習17.26
重寫你的**號碼程式,使之對多於乙個**號碼的人只輸出第二個和後續**號碼。
解答:
#include #include #include #include using namespace std;
using namespace std::regex_constants;
int main();
string phone = "(\\()?(\\d)(\\))?([-. ])?(\\d)([-. ])?(\\d)";
regex r(phone);
smatch m;
string s;
string fmt = "$2.$5.$7";
for (int i = 0; i != 3; ++i)
cout << endl;
} else
}}
練習17.27
解答:
string post_code = "(\\d)([-])?(\\d)?";
regex r(post_code);
string fmt = "$1-$3";
cout << regex_replace(str, r, fmt) << endl;
其他部分參考**號碼的實現。 第十七章 17 1 1節練習
練習17.1 定義乙個儲存三個int值的tuple,並將其成員分別初始化為10 20和30。解答 include include int main 練習17.2 定義乙個tuple,儲存乙個string 乙個vector和乙個pair。解答 include include include inclu...
第十七章 17 1 2節練習
練習17.4 編寫並測試你自己版本的findbook函式。解答 實現參考書中實現。練習17.5 重寫findbook,令其返回乙個pair,包含乙個索引和乙個迭代器pair。解答 typedef pair size type,pair const iterator,vector const iter...
第十七章 17 3 1節練習
練習17.14 編寫幾個正規表示式,分別觸發不同錯誤。執行你的程式,觀察編譯器對每個錯誤的輸出。解答 這個就不一一枚舉出來了。如果正規表示式寫錯,在執行時程式會在編譯表示式的時候直接崩潰。練習17.15 編寫程式,使用模式查詢違反 i在e之前,除非在c之後 規則的單詞。你的程式應該提示使用者輸入乙個...