正則表達式常用匹配

測試:

http://rubular.com/r/xfQHocREGj

http://www.regexper.com/#%5E%5B1-9%5D%3F%5Cd%7B1%7D(%5C.%5Cd%2B)%3F%24


正則表達式常用匹配QT舉例
QRegExp rx;
rx.setPatternSyntax(QRegExp::RegExp);
rx.setCaseSensitivity(Qt::CaseSensitive); //大小寫敏感
rx.setPattern(QString("^[A-Za-z0-9]+$")); //匹配所有大小寫字母和數字組成的字符串
QString s = "dsada@";
rx.exactMatch(s); //返回的值爲false,因爲s中含有@字符

//QString MachineID = "e8 F8 g3 34 o";
QRegExp(QString("(\\w{2}\\s){4}\\w{1}")).exactMatch(MachineID);


1. 操作系統中文件名有特殊含義的字符
[^\\\\//:/*/?<>/|]*
2. 日期匹配
^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
匹配
29/02/1972 | 5-9-98 | 10-11-2002
不匹配
29/02/2003 | 12/13/2002 | 1-1-1500
3. 16進制數
[0-9a-fA-F][0-9a-fA-F]
4. 正0 <= x < 100(之間的整數和浮點數)
^[1-9]?\d{1}(\.\d+)?$

"^\d+$"  //非負整數(正整數 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整數
"^((-\d+)|(0+))$"  //非正整數(負整數 + 0)
"^-[0-9]*[1-9][0-9]*$"  //負整數
"^-?\d+$"    //整數
"^\d+(\.\d+)?$"  //非負浮點數(正浮點數 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮點數(負浮點數 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點數
"^(-?\d+)(\.\d+)?$"  //浮點數
"^[A-Za-z]+$"  //由26個英文字母組成的字符串
"^[A-Z]+$"  //由26個英文字母的大寫組成的字符串
"^[a-z]+$"  //由26個英文字母的小寫組成的字符串
"^[A-Za-z0-9]+$"  //由數字和26個英文字母組成的字符串
"^\w+$"  //由數字、26個英文字母或者下劃線組成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
"^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$" // 年-月-日
"^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$" // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Email
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //電話號碼
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章