Qt QRegExp正则表达式 【转】

// 非负整数(正整数 + 0) 
"^/d+$"

// 正整数
"^[0-9]*[1-9][0-9]*$"

// 非正整数(负整数 + 0)
"^((-/d+)|(0+))$" 

// 负整数 
"^-[0-9]*[1-9][0-9]*$"

// 整数   
"^-?/d+$"   

// 非负浮点数(正浮点数 + 0)  
"^/d+(/./d+)?$"

// 正浮点数 
"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$"

// 非正浮点数(负浮点数 + 0) 
"^((-/d+(/./d+)?)|(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+)?$"  

// 由 26 个英文字母组成的字符串 
"^[A-Za-z]+$" 

// 由 26 个英文字母的大写组成的字符串  
"^[A-Z]+$" 

// 由 26 个英文字母的小写组成的字符串  
"^[a-z]+$"  

// 由数字和 26 个英文字母组成的字符串 
"^[A-Za-z0-9]+$"  

// 由数字、26 个英文字母或者下划线组成的字符串 
"^/w+$"  

// email 地址 
"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$"    

// url 
"^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$"  

// 年-月-日 
"^(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})$"

// Email   
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   

// 电话号码 
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"

// IP 地址
"^(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])$"   

// MAC 地址的正则表达式 
^([0-9A-F]{2})(-[0-9A-F]{2}){5}$   

// 值类型正则表达式
^[-+]?/d+(/./d+)?$ 

QRegExp 是 Qt 的正则表达式类。
Qt 中有两个不同类的正则表达式。

第一类为元字符。它表示一个或多个常量表达式。
另一类为转义字符,它代表一个特殊字符。

一.元字符
. 匹配任意单个字符。例如, 1.3 可能是1. 后面跟任意字符,再跟3
^ 匹配字符串首。 例如, ^12可能是123,但不能是312
$ 配字符串尾。例如, 12$可以是312, 当不能是 123
[] 匹配括号内输入的任意字符。[123]可以为1, 2 或3
* 匹配任意数量的前导字符。例如, 1*2可以为任意数量个1(甚至没有), 后面跟一个2
+ 匹配至少一个前导字符。例如, 1+2必须为一个或多个1, 后跟一个2
? 匹配一个前导字符或为空。例如 1?2可以为2或这12

二.统配模式
通过

QRegExp::setPatternSyntax(QRegExp::Wildcard);

可以将元字符设置为统配模式。在统配模式下,只有3个元字 符可以使用。他们的功能没有变化。
? 匹配任意单个字符,例如,1?2 可以为 1,后面跟任意单个字符,再跟 2
* 匹配任意一个字符序列。 例如, 1*2,可以为 1,后面跟任意数量的字符,再跟一个 2
[] 匹配一个定义的字符集合。 例如,[a-zA-Z/.] 可以匹配 a到z之间任意一个字符,而. [^a]匹配出小写 a 以外的字符.

三.转义序列
\. 匹配"."
\^ 匹配"^"
\$ 匹配"$"
\[ 匹配"["
\] 匹配"]"
\* 匹配"*"
\+ 匹配"+"
\? 匹配"?"
\b 匹配响铃字符,使计算机发出嘟的一声.
\t 制表符号
\n 换行符号
\r 回车符鉿
\s 任意空格
\xnn 匹配16进制为nn的字符
\0nn 匹配8进制的nn字符

本文的引用地址:http://blog.csdn.net/zhh_steven/article/details/5907502

你可能感兴趣的:(Qt QRegExp正则表达式 【转】)