菜鸟笔记
提升您的技术认知

QRegExp 的简单使用

概述

在许多场景中,我们需要验证用户输入的数据是否有效,或者是从文本中提取指定的数据,相对于Qstring的一些函数,QT提供了一个更加强大的类—QRegExp。

基本使用

matchedLength() :匹配的长度

capturedTexts() :捕捉到的字符串列表

captureCount():获取表达式中含有的捕捉组的数目

cap(int n) :第n个组的内容(0代表匹配自身),参数缺省值为0

cap(0):表示匹配的整个文本的值

cap(1):表示第1个圆括弧中的值

cap(2):表示第2个圆括弧中的值

pos(int n) :第n个组的位置(默认值为0)

indexIn() :搜索字符串以找到匹配的字串,返回索引值,失败返回-1

应用示例


QRegExp rx("(.*)=(.*)");
QString str = ("a=100");
int pos = rx.indexIn(str);
if(pos>=0)
 {
  
     qDebug()<<rx.matchedLength(); //5
     qDebug()<<rx.capturedTexts(); //("a=100", "a", "100")
     qDebug()<<rx.cap(0);//"a=100"
     qDebug()<<rx.cap(1);//"a"
     qDebug()<<rx.cap(2);//"100"
     qDebug()<<rx.pos(0);//0
     qDebug()<<rx.pos(1);//0
     qDebug()<<rx.pos(2);//2
 }