QT 正则表达式(进阶篇)IP,端口号,文件名,非空格字符的匹配,已验证

转载:https://www.cnblogs.com/Lijcyy/p/8940134.html

转载:https://blog.youkuaiyun.com/biu__biu_biu/article/details/79621951

 

IP:

    QString text255 = "(25[0-5])|(2[0-4][0-9])|(1[0-9][0-9])|([1-9][0-9])|([0-9])";//0-255
    QString rxpStr= QString("^(%1)\\.(%1)\\.(%1)\\.(%1)$").arg(text255);//判断ip
     QRegExp regexp1(rxpStr);//判断ip x.x.x.x 0-255

Port: 

QRegExp portExp("^([0-9]|[1-9]\\d|[1-9]\\d{2}|[1-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$");

在Qt中提供了一种简单的数值范围判断的验证器,即QIntValidator

列:

QLineEdit *edit = new QLineEdit(this);
edit->setValidator(new QIntValidator(100, 999, this))

QLineEdit只接受100到900范围内的整数值(包括100,900),类似还有QDoubleValidator,可设置小数范围。

0-10000,保留3个小数位

^(10000)|(([1-9][0-9]{1,3})|([0-9]))|((([1-9][0-9]{1,3})|([0-9]))\.([0-9]{0,2}[1-9]))$

【2】

 

输入可见字符(除去空格 回车 ...)

QRegExp rxp("^\\w+\\S+$");

IP正则表达式

QRegExp rxp("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b");

端口号正则表达式

QRegExp rxp("^([0-9]|[1-9]\\d|[1-9]\\d{2}|[1-9]\\d{3}|[1-5]\\d{4}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])$");

0-100的保留两位小数正则表达式

QRegExp rxp("^(100|0?[0-9]?\\d(\\.\\d{1,2})?)$");

只能输入数字

QRegExp rxp("^[0-9]*$");应用实例:


 QRegExp rxp("^\\w+\\S+$");  //输入可见字符(除去空格 回车 ...)
 QRegExpValidator *pRep = new QRegExpValidator(rxp, this);
 ui->lineEdit_ProjectName->setValidator(pRep);

 

 

匹配非负整数(正整数 + 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*)?$

匹配html tag

<\s*(\S+)(\s[^>]*)?>(.*?)<\s*\/\1\s*>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值