C++ Regex 邮箱校验

[cpp]  view plain copy
  1. #include <regex>  
  2. #include <iostream>  
  3. #include <string>  
  4.   
  5. bool is_email_valid(const std::string& email)  
  6. {  
  7.    // define a regular expression  
  8.    const std::tr1::regex pattern  
  9.       ("(\\w+)(\\.|_)?(\\w*)@(\\w+)(\\.(\\w+))+");  
  10.   
  11.    // try to match the string with the regular expression  
  12.    return std::tr1::regex_match(email, pattern);  
  13. }  
  14.   
  15. int main()  
  16. {  
  17.    std::string email1 = "[email protected]";  
  18.    std::string email2 = "[email protected]";  
  19.    std::string email3 = "[email protected]";  
  20.    std::string email4 = "marius@domain";  
  21.   
  22.    std::cout << email1 << " : " << (is_email_valid(email1) ?  
  23.       "valid" : "invalid") << std::endl;  
  24.    std::cout << email2 << " : " << (is_email_valid(email2) ?  
  25.       "valid" : "invalid") << std::endl;  
  26.    std::cout << email3 << " : " << (is_email_valid(email3) ?  
  27.      "valid" : "invalid") << std::endl;  
  28.    std::cout << email4 << " : " << (is_email_valid(email4) ?  
  29.      "valid" : "invalid") << std::endl;  
  30.   
  31.    return 0;  
  32. }  


转帖:http://ubuntuforums.org/showthread.php?t=1114404


转自http://blog.csdn.net/Mirage520/article/list/2

你可能感兴趣的:(C++ Regex 邮箱校验)