1: //simple_regex_example_boost.cpp 2: //Validating simple user input with regular expressions. 4: #include <iostream> 5: #include <string> 6: using namespace std; 8: #include "boost/regex.hpp" 9: using boost::regex; 10: using boost::regex_match; 12: int main() 13: { 14: //Get a valid Canadian postal code from the user 15: cout << "\nEnter a Canadian postal code: "; 16: string data; 17: getline(cin, data); 18: while (!regex_match(data, regex("[A-Z]\\d[A-Z] \\d[A-Z]\\d"))) 19: { 20: cout << "\nThat was an invalid postal code."; 21: cout << "\nPlease enter another one: "; 22: getline(cin, data); 23: } 24: cout << "\nThat was a valid postal code. Thank you!"; 25: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 27: //Get a valid 10-digit phone number from the user 28: cout << "\nEnter a 10-digit phone number (xxx-xxx-xxxx): "; 29: getline(cin, data); 30: while (!regex_match(data, regex("[1-9]\\d{2}-[1-9]\\d{2}-\\d{4}"))) 31: { 32: cout << "\nThat was an invalid phone number."; 33: cout << "\nPlease enter another one: "; 34: getline(cin, data); 35: } 36: cout << "\nThat was a valid phone number. Thank you!"; 37: cout << "\nPress Enter to continue ... "; cin.ignore(80, '\n'); 38: }