1.
QRegExp exp(“ab+”); //ab,abb…
QRegExp exp(“\d”); //一位数字
QRegExp exp(“[X-Zx-z]”);//xyz之间的一位(不区分大小写)。
QRegExp exp(“[2-6]”);//2-6之间的一位数字
QRegExp exp(“[0-9]{0,3}”);//(0-999)
QRegExp exp(“[0-9]{0,1}[.][0-9]{0,3}”);//一位整数,最多三位小数;
QRegExp exp(“0|[1-9]\d{0,4}”);
ui.lineEdit->setValidator(new QRegExpValidator(regExp, this));// 0-99999;
ui.lineEdit->setValidator(new QRegExpValidator(regExp, this));
ui.lineEdit->setValidator(new QIntValidator(1, 56, this)); //1-56之间的小数
ui.lineEdit->setValidator(new QDoubleValidator(0,180.0,3,this));//0-180,三位小数(只能限制小数位数)
2.
一些不便书写的字符,采用在前面加 “/” 的方法。
/r,/n,/t; // :代表/本身;
/.:代表.本身;
“\d” 可以匹配任意一个数字。
“\w”: 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个
“.”:小数点可以匹配除了换行符(/n)以外的任意一个字符
[f-k]:匹配 “f”~”k” 之间的任意一个字母
[^A-F0-3] :匹配 “A”~”F”,”0”~”3” 之外的任意一个字符
3. 修饰匹配次数的特殊符号
表达式 作用
{n} 表达式重复n次,比如:”/w{2}” 相当于 “/w/w”;”a{5}” 相当于 “aaaaa”
{m,n} 表达式至少重复m次,最多重复n次,比如:”ba{1,3}”可以匹配 “ba”或”baa”或”baaa”
{m,} 表达式至少重复m次,比如:”/w/d{2,}”可以匹配 “a12”,”_456”,”M12344”…
? 匹配表达式0次或者1次,相当于 {0,1},比如:”a[cd]?”可以匹配 “a”,”ac”,”ad”
+ 表达式至少出现1次,相当于 {1,},比如:”a+b”可以匹配 “ab”,”aab”,”aaab”…
* 表达式不出现或出现任意次,相当于 {0,},比如:”/^*b”可以匹配 “b”,”^^^b”…
4.
^-?(90|[1-8]?\d(.\d{1,4})?)$
式子中开头的^和结尾的$限定字符串的开始和结尾;
“-?” 表示一个或0个负号,这里面的问号表示其前面的字符重复0次或1次;
管道符“|”表示平行分组,比如后三个,表示180或其它形式;
[1-9] 表示限定数字范围为1到9,其余类似,如果是有限几个值,还可以用枚举的方式,比如限定-255到255时,第一个数字2的限定,应该表达为[1,2],这表示这个位置只允许是1或者2;
“\d”是一个转义字符,表示匹配一位数字;
“.” 表示匹配小数点;
“\d+”,这里面的+表示其前面的\d重复一次或多次;
“\d{1,4}”,里面的{1,4}表示重复1到4次;