Qt之正则表达式使用示例

概述:

利用正则表达式对表格框内数据输入进行限制,首相先介绍一个正则表达式的区间条件
1.限定 0 到 9 可以写成 【0-9】
2.限定 A 到 Z 可以写成 【A-Z】
3.限定某些数字【110】
接下来写个小案列测试一下

限定数字 :0-9

.h:

#include <QRegExp>//QRegExp类使用正则表达式提供模式匹配

private slots:
    void on_tableWidget_itemChanged(QTableWidgetItem *item);

.cpp:

void Regular::on_tableWidget_itemChanged(QTableWidgetItem *item)
{
    QString str = item->text();
    QRegExp rx("[0-9]");                                    //设只输入范围数字0-9
    QRegExpValidator v(rx);                                 //QRegExpValidator类用于根据正则表达式检查字符串
    int pos = 0;
    ui->textBrowser->append(QString("匹配字符串 : ") + str);
    QValidator::State res;                                  //QValidator类提供输入文本的验证(犹如一个验证器)。
    res = v.validate(str,pos);
    /*
     *QValidator::Invalid表示完全不匹配;
     *QValidator::Intermediate表示部分匹配;
     *QValidator::Acceptable表示完全匹配。
     */
    if(QValidator::Acceptable == res)
    {
        ui->textBrowser->append(QString("匹配结果成功 :") + str);
    }
    else
    {
        ui->textBrowser->append(QString("匹配失败结果 :") + str);
    }
}

看完代码是不是应该考虑一个问题如果只对一个数字输入进行限制使用正则相对于不熟悉正则表达式的人是个难点,大家可以参考下我之前的文章不使用正则表达式是如何对输入数据进行限制的

不使用正则表达式对表格内容进行指定类型输入限制

执行效果图:

在这里插入图片描述

over:

欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
如果大家有更好的方法或有问题可以在文末评论一起讨论!
共同学习!
共同进步!

以孝为墩,以敬为梁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值