加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Qt组件显示输入的正则表达式使用总结

发布时间:2020-12-14 06:37:37 所属栏目:百科 来源:网络整理
导读:Qt的正则表达式校验器类:QRegExpValidator。 做界面编程的时候,对文本框的处理往往是个很麻烦的事情,一是焦点进入文本框时,从人性化考虑,应选择文本框中文本,方便输入;二是,限制文本框的输入,只允许输入有效的文本,如果不这样做的话,那么就需要在

Qt的正则表达式校验器类:QRegExpValidator。做界面编程的时候,对文本框的处理往往是个很麻烦的事情,一是焦点进入文本框时,从人性化考虑,应选择文本框中文本,方便输入;二是,限制文本框的输入,只允许输入有效的文本,如果不这样做的话,那么就需要在程序中滤去非法输入,正则表达式的功效就显示出来了!

下面是一些常用的利用正则表达式校验器限定数值范围的用法:

简单正则表达式:

^(-?[0]|-?[1-9][0-9]{0,5})(?:.d{1,4})?$|(^t?$)
(^-?180$)|(^-?1[0-7]d$)|(^-?[1-9]d$)|(^-?[1-9]$)|^0$
^-?(180|1?[0-7]?d(.d+)?)$
^-?(180|1?[0-7]?d(.d{1,4})?)$

^-?(90|[1-8]?d(.d{1,4})?)$

(1).式子中开头的^和结尾的$限定字符串的开始和结尾;
(2)."-?" 表示一个或0个负号,这里面的问号表示其前面的字符重复0次或1次;
(3).管道符“|”表示平行分组,比如后三个,表示180或其它形式;
(4).[1-9] 表示限定数字范围为1到9,其余类似,如果是有限几个值,还可以用枚举的方式,比如限定-255到255时,第一个数字 (5).2的限定,应该表达为[1,2],这表示这个位置只允许是1或者2;
(6)."d"是一个转义字符,表示匹配一位数字;
(7).“.” 表示匹配小数点;
(8)."d+",这里面的+表示其前面的d重复一次或多次;

(9)."d{1,4}",里面的{1,4}表示重复1到4次;

限制浮点数输入范围为[-999999.9999,999999.9999] :

QRegExp rx("^(-?[0]|-?[1-9][0-9]{0,5})(?:.d{1,4})?$|(^t?$)"

限制浮点数输入范围为[-180,180]:

QRegExp rx("(^-?180$)|(^-?1[0-7]d$)|(^-?[1-9]d$)|(^-?[1-9]$)|^0$");

限制浮点数输入范围为[-90,90]并限定为小数位后4位:

QRegExp rx("^-?(90|[1-8]?d(.d{1,4})?)$");

限制[-255,255]整数

QregExp rx(^-?(255|[1,2]?[0-4]?d|[1,2]?5[0-4]?)$);

QregExp rx(^-?(255|([1,2]?5[0-4]?)(.d)?)$)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读