设置正则表达式.
类似下面的
QRegExp
这里的用法就是用来检测QString等字符串错误的,例如文件名里面最好就不出现<>|/\:等,所以可以如下定义QRegExp rx("[a-zA-Z0-9\-\\\_]{25}"); 25就是所输入的字符串个数!a-z当然就是a-z,你也可以abcdefghijklm....等等.\- 就是- 好了,现在可以把这个rx绑入QRegExpValidator. QRegExpValidator *pRevalidotor = new QRegExpValidator(regExp, this); 绑入lineEdit : pEditWell->setValidator(new QRegExpValidator(regExp, this)); 常用的:
"^\d+$"  //非负整数(正整数 + 0) <br> "^[0-9]*[1-9][0-9]*$"  //正整数 <br> "^((-\d+)|(0+))$"  //非正整数(负整数 + 0) <br> "^-[0-9]*[1-9][0-9]*$"  //负整数 <br> "^-?\d+$"    //整数 <br> "^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) <br> "^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 <br> "^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) <br> "^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 <br> "^(-?\d+)(\.\d+)?$"  //浮点数 <br> "^[A-Za-z]+$"  //由26个英文字母组成的字符串 <br> "^[A-Z]+$"  //由26个英文字母的大写组成的字符串 <br> "^[a-z]+$"  //由26个英文字母的小写组成的字符串 <br> "^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 <br> "^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 <br> "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 <br> "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url <br> "^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$" // 年-月-日 <br> "^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$" // 月/日/年 <br> "^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"   //Email <br> "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"     //电话号码 <br> "^(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地址</font></p> <p><font size="3" color="#ff9900">^([0-9A-F]{2})(-[0-9A-F]{2}){5}$   //MAC地址的正则表达式 <br> ^[-+]?\d+(\.\d+)?$ //值类型正则表达式</font></p> </font><br> <br> <font size="3">QRegExp是Qt的正则表达式类.<br> Qt中有两个不同类的正则表达式.<br> 第一类为元字符.它表示一个或多个常量表达式.<br> 令一类为 转义字符,它代表一个特殊字符.<br> <br> 一.元字符<br> . 匹配任意单个字符.例如, 1.3 可能是1. 后面跟任意字符,再跟3<br> ^ 匹配字符串首. 例如, ^12可能是123,但不能是312<br> $ 配字符串尾. 例如, 12$可以是312, 当不能是 123<br> [] 匹配括号内输入的任意字符.[123]可以为1, 2 或3<br> * 匹配任意数量的前导字符. 例如, 1*2可以为任意数量个1(甚至没有), 后面跟一个2<br> + 匹配至少一个前导字符. 例如, 1+2必须为一个或多个1, 后跟一个2<br> ? 匹配一个前导字符或为空. 例如 1?2可以为2或这12<br> <br> 二.统配模式<br> 通过 QRegExp::setPatternSyntax(QRegExp::Wildcard);可以将元字符设置为统配模式.在统配模式下,只有3个元字 符可以使用.他们的功能没有变化.<br> ? 匹配任意单个字符, 例如, 1?2可以为1,后面跟任意单个字符, 再跟2<br> * 匹配任意一个字符序列. 例如, 1*2, 可以为1, 后面跟任意数量的字符, 再跟一个2<br> [] 匹配一个定义的字符集合. 例如, [a-zA-Z\.]可以匹配 a到z之间任意一个字符和. [^a]匹配出小写a以外的字符.<br> <br> 三.转义序列<br> \. 匹配"."<br> \^ 匹配"^"<br> \$ 匹配"$"<br> \[ 匹配"["<br> \] 匹配"]"<br> \* 匹配"*"<br> \+ 匹配"+"<br> \? 匹配"?"<br> \b 匹配响铃字符,使计算机发出嘟的一声.<br> \t 制表符号<br> \n 换行符号<br> \r 回车符铪<br> \s 任意空格<br> \xnn 匹配16进制为nn的字符<br> \0nn 匹配8进制的nn字符<br> 这些表达式均以\开始, 与C++的转义字符相同,所以为了定义QRegExp中的一个转义序列,<br> 需要在前面添加两个\\

qt QRegExp使用(搬运工)的更多相关文章

  1. C/C++ 开源库及示例代码

    C/C++ 开源库及示例代码 Table of Contents 说明 1 综合性的库 2 数据结构 & 算法 2.1 容器 2.1.1 标准容器 2.1.2 Lockfree 的容器 2.1 ...

  2. pyqt4制作透明无边框窗体

    用PyQt做了一个无边框登陆窗口,效果如下: 下面是代码: # -*- coding: utf-8 -*- from PyQt4 import QtGui ,Qt ,QtCore image=QtGu ...

  3. Qt实现端口扫描器

    首先展示一下效果: 界面通过Qt设计师做出来的. 主要有两个类. 首先主函数: #include "mainwindow.h" #include <QApplication& ...

  4. Qt:正则表达式语法:

         正则表达式是验证输入.从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式;        Qt 提供了一个Q ...

  5. 关于windows下QT以及QT creator的安装

    普及  之  windows下qt的安装及配置   qt介绍 : Qt,分为商业.开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态 ...

  6. 【QT】C++ GUI Qt4 学习笔记2

    Go To Cell 利用QT Desinger做好界面后加入的代码有 gotocelldialog.h #ifndef GOTOCELLDIALOG_H #define GOTOCELLDIALOG ...

  7. 【QT】C++ GUI Qt4 学习笔记4

    感觉这本书的顺序设计的太不合理了,出现的最多的一句话就是后面会讲.按照使用的顺序讲不行吗?搞得代码都运行不了. 我决定先直接跳到73页,子类化QTableWidgetItem这一节.因为前面功能的实现 ...

  8. Qt——QLineEdit使用总结

    QLineEdit是一个单行文本编辑控件. 使用者可以通过很多函数,输入和编辑单行文本,比如撤销.恢复.剪切.粘贴以及拖放等. 通过改变QLineEdit的 echoMode() ,可以设置其属性,比 ...

  9. Qt——正则表达式

    在项目中经常会遇到对字符串进行操作的情况,我们可以直接使用QString的一些函数,但QT提供了一个更加强大的类——QRegExp,使用正则表达式来操作字符串. 先说说我最近遇到的几个问题: 1.对输 ...

随机推荐

  1. django的母板和继承

    Django模板中只需要记两种特殊符号: {{  }}和 {% %} {{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作. 母板 <!DOCTYPE html> & ...

  2. Linux上查看大文件的开头几行内容以及结尾几行的内容

    head -n 50 filePath 查看开头50行的内容 tail -n 50 filePath 查看文件结尾50行的内容

  3. 那个写书教你交易期权的人James Cordier爆仓了

    那个写书教你交易期权的人James Cordier爆仓了 11月15日,James Cordier掌管的期权交易公司OptionSellers.com通过邮件告知投资者,其公司管理的账户遭遇了毁灭性的 ...

  4. idea 项目转 eclipse项目

    接到一个很紧急的活,我很着急,也很兴奋,打开邮件一看,有点懵逼.   idea项目.idea不熟啊,网上搜攻略.我做个总结,归根结底就是一句话.   下个idea,然后一步一步的安装好.   然后也是 ...

  5. PHP $_SERVER 及用户真实IP

    $_SERVER 是一个包含了诸如头信息(header).路径(path).以及脚本位置(script locations)等等信息的数组.这个数组中的项目由 Web 服务器创建.不能保证每个服务器都 ...

  6. jenkins3

    Jenkins是基于java开发的. GitHub Git (熟练使用) Doocker (了解) Jenkins (熟练使用) Django (熟练使用) Angularjs (了解) Sentry ...

  7. 在Eclipse中创建Dynamic Web Project具有和MyEclipse中Web Project一样的目录结构

    1.在Eclipse中新建Dynamic Web Project 1.1.修改default output folder build\classes修改为:WebRoot\WEB-INF\classe ...

  8. MySQL SELECT练习题*28

    -- (1)用子查询查询员工“张小娟”所做的订单信息. SELECT * FROM order_master WHERE saler_no = ( SELECT employee_no FROM em ...

  9. php 接收blob数据流,base64数据流 转为 blob二进制数据流

    php正常接收参数的方式如下:$_GET$_POST$_REQUEST 但是如果跨语言接收请求参数的话,可能会出现一系列的问题,其他语言的http请求可能是基于数据流的概念来传递参数的,如果按照常规处 ...

  10. Linux 安装本地 yum源

    放入Centos6.4的镜像光盘或找到镜像文件 [root]#mount /dev/cdrom  /media/cdrom  #挂载本地镜像 [root]#rm -rf /etc/yum.repo.d ...