我們最經常遇到的驗證,就是電子郵件位址驗證。**上常見。各種網頁指令碼也都常用「正規表示式」(regular expression)對我們輸入的電子郵件位址進行驗證,判斷是否合法。有的還能分解出使用者名稱和網域名稱。現在用c++語言實現一下電子郵件位址驗證程式,用的是boost正規表示式庫。
源**如下,該**已在g++ 4.6上驗證通過。
/** regex.cpp - 用正規表示式驗證電子郵件位址
* * boost正規表示式
* ** 編譯命令:
* g++ regex.cpp -o regex -wall -lboost_regex *
*/#include
#include
#include
#include
//regular expression 正規表示式
using
namespace
std;
using
namespace
boost;
intmain ( )
(\\.[a-z])?)");
//正規表示式,匹配規則:
//第1組(即使用者名稱),匹配規則:0至9、a至z、a至z、下劃線、點、連字元之中
//的任意字元,重複一遍或以上
//中間,乙個「@」符號
//第二組(即網域名稱),匹配規則:0至9和a至z之中的任意字元重複一遍或以上,
//接著乙個點,接著a至z之中的任意字元重複2至3遍(如com或cn等),
//第二組內部的一組,乙個點,接著a至z之中的任意字元重複2遍(如cn或fr等)
//內部一整組重複零次或一次
//輸入檔案結尾符(windows用ctrl+z,unix用ctrl+d)結束迴圈
while ( cin >>email_address )
else
}return
exit_success;
}
boost 正規表示式 regex
如果在引用boost regex出現連線錯誤,但是引用其他的庫卻沒有這個錯誤,這是因為對於boost來說,是免編譯的,但是,正則這個庫 是需要單獨編譯和使用的。簡單的辦法就是 直接將boost庫全部編譯,然後 找到正則的lib,編譯時候引用進去。include include include inc...
驗證正規表示式
純數字 d 純字母 a za z 純特殊字元 ps 特殊字元看你定義的標準是什麼 字母 數字 d a za z a za z d 字母 特殊字元 a za z a za z 數字 特殊字元 d d 字母 數字 特殊字元 d a za z da za z ios使用常用正規表示式驗證密碼身份證手機號 ...
正規表示式驗證
1,正規表示式是用用於驗證的,即符合正規表示式則通過驗證,所以首先它是個表示式,其次它需要用來驗證別人是不是和它匹配,所以需要有內建的 方法 2,使用情景 乙個input輸入框要求你輸入0 9的數字,如果你輸入非數字就會報錯 var reg 0 9 string input val reg.test...