Qt—QRegExp

本文详细介绍了Qt库中的QRegExp类,包括如何使用indexIn方法查找匹配,captureCount获取捕获数,以及如何使用capturedTexts和cap方法获取捕获的文本。此外,还提到了caseSensitivity、isValid、errorString等重要方法,帮助理解QRegExp在处理正则表达式时的功能和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.正则表达式

  1. 正则表达式——详情版+常用表达式
  2. Qt中正则表达式(常用)
  3. Qt 正则表达式介绍 QRegExp的使用

2 QRegExp

2.1 indexIn

int indexIn(const QString &str, int offset = 0, QRegExp::CaretMode caretMode = CaretAtZero) const

尝试从位置偏移量(默认为0)在str中查找匹配。如果offset为-1,则从最后一个字符开始搜索;如果-2,在最后一个字符的旁边;等
返回第一个匹配的位置,如果没有匹配则返回-1。
caretMode参数可以用来指示^应该在索引0处匹配还是在偏移量处匹配。

    QString regexStr = "^[0-9a-zA-Z_]+@[0-9a-zA-Z]+(\\.[a-zA-Z]+)+$";
    QRegExp regExp(regexStr);
    QString str = "123@qq.com";

    if(regExp.indexIn(str)>=0)
    {
        qDebug()<<"This is email";
    }

2.2 captureCount()

int QRegExp::captureCount() const

返回正则表达式中包含的捕获数。

本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓

2.3 capturedTexts()

QStringList QRegExp::capturedTexts() const

返回捕获的文本字符串的列表。

列表中的第一个字符串是整个匹配的字符串。随后的每个列表元素都包含一个与regexp的(捕获的)子表达式匹配的字符串。

2.4 cap

QString QRegExp::cap(int *nth* = 0) const

返回第n个子表达式捕获的文本。整个匹配的索引为0,括号内的子表达式的索引从1开始(不包括非捕获括号)。

    QString regexStr = "^([0-9a-zA-Z_]+)(@[0-9a-zA-Z]+)(\\.[a-zA-Z]+)+$";
    QRegExp regExp(regexStr);
    QString str = "123@qq.com";

    if(regExp.indexIn(str)>=0)
    {
        qDebug()<<regExp.indexIn(str);//0
        qDebug()<<regExp.captureCount();//3
        qDebug()<<regExp.capturedTexts();//"123@qq.com", "123", "@qq", ".com"
        qDebug()<<regExp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值