QString使用正则操作的接口实现

介绍QString使用正则操作的接口。

Qt 5.0引入QRegularExpression,相比于QRegExp,前者修复了很多bugs,功能上也是兼容于QRegExp。推荐使用QRegularExpression。

contains

正则表达式rx是否与字符串中的某个地方匹配,匹配返回true,否则返回false。

bool contains(const QRegExp &rx) const
bool contains(QRegExp &rx) const
bool contains(const QRegularExpression &re) const
bool contains(const QRegularExpression &re, QRegularExpressionMatch *match) const

count

返回正则表达式rx在字符串中匹配的次数。

int count(const QRegExp &rx) const
int count(const QRegularExpression &re) const

indexOf

返回字符串中正则表达式rx的第一个匹配项的索引位置,从索引位置向前搜索。如果rx在任何地方都不匹配,则返回-1。

int indexOf(QRegExp &rx, int from = 0) const
int indexOf(const QRegularExpression &re, int from = 0) const
int indexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const

lastIndexOf

返回字符串中正则表达式rx最后一个匹配项的索引位置,从索引位置向后搜索。如果rx在任何地方都不匹配,则返回-1。

int lastIndexOf(QRegExp &rx, int from = -1) const
int lastIndexOf(const QRegularExpression &re, int from = -1) const
int lastIndexOf(const QRegularExpression &re, int from, QRegularExpressionMatch *rmatch) const

remove

移除字符串中符合正则表达式rx的匹配,并返回对该字符串的引用。

QString &remove(const QRegExp &rx)
QString &remove(const QRegularExpression &re)

replace

将字符串中符合正则表达式rx就替换为after字符串,并返回对该字符串的引用。

QString &replace(const QRegExp &rx, const QString &after)
QString &replace(const QRegularExpression &re, const QString &after)

section

将字符串由正则表达式来分割字段序列。

QString section(const QRegExp &reg, int start, int end = -1, QString::SectionFlags flags = SectionDefault) const
QString section(const QRegularExpression &re, int start, int end = -1, QString::SectionFlags flags = SectionDefault) const

split

将字符串拆分为正则表达式rx匹配的子字符串,并返回这些字符串的列表。

QStringList split(const QRegExp &rx, QString::SplitBehavior behavior = KeepEmptyParts) const
QStringList split(const QRegularExpression &re, QString::SplitBehavior behavior = KeepEmptyParts) const

splitRef

将字符串拆分为正则表达式rx匹配的子字符串引用,并返回这些字符串的列表。

QVector<QStringRef> splitRef(const QRegExp &rx, QString::SplitBehavior behavior = KeepEmptyParts) const
QVector<QStringRef> splitRef(const QRegularExpression &re, QString::SplitBehavior behavior = KeepEmptyParts) const

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • QString和char以及string之间的赋值详解

    一.QString赋值给char* 例如: QString  qstr: char *str = qstr.toLatin1().data();//这样便把qstr中的值传给了str 二 .char [] 赋值给string char str[32]; string str2(str);//这样便把str中的值传给了str2 三 .char* 赋值给QString 例如:char *str1; QString str2; str2 += str1;//这样便把str1中的值传给了str2

  • QString使用正则操作的接口实现

    介绍QString使用正则操作的接口. Qt 5.0引入QRegularExpression,相比于QRegExp,前者修复了很多bugs,功能上也是兼容于QRegExp.推荐使用QRegularExpression. contains 正则表达式rx是否与字符串中的某个地方匹配,匹配返回true,否则返回false. bool contains(const QRegExp &rx) const bool contains(QRegExp &rx) const bool contains(

  • PHP实现的同步推荐操作API接口案例分析

    本文实例分析了PHP实现的同步推荐操作API接口.分享给大家供大家参考,具体如下: 文档 1. 功能 同步推荐关系 2. 接口方法 syncRelation 3. 参数描述 OriginalUsername 查询的用户用户名 RecommandUsername 推荐人用户名 4. 返回值 status 1成功 9 失败 5. 备注 Status=1 原用户不存在,关系未建立 Status=2 推荐用户不存在,关系未建立 Status=3 原用户存在,并且没有推荐人,推荐用户也存在,成功建立关系

  • php curl操作API接口类完整示例

    本文实例讲述了php curl操作API接口类.分享给大家供大家参考,具体如下: <?php namespace curl; /** * Created by PhpStorm. * User: Administrator * Date: 2017/6/16 * Time: 9:54 */ class ApiClient { //请求的token const token='token_str'; //请求url private $url; //请求的类型 private $requestType

  • Java String类正则操作示例

    本文实例讲述了Java String类正则操作.分享给大家供大家参考,具体如下: 一 应用正则表达式 1 代码 public class RegExp { public static void main(String[] args) throws Exception { if ("123".matches("\\d+")) { System.out.println("由数字组成!"); } else { System.out.println(&q

  • go语言beego框架分页器操作及接口频率限制示例

    目录 获取所有文章数据 获取总条数 设置每页的条数 总页数和当前页码 获取分页数据 返回数据 beego接口频率限制 获取所有文章数据 o := orm.NewOrm() qs := o.QueryTable("Article") 12 获取总条数 count, _ := qs.Count() 1 设置每页的条数 pageSetNum := 2 1 总页数和当前页码 // 总页数 pageCount := math.Ceil((float64(count) / float64(page

  • 基于java中正则操作的方法总结

    正则表达式在处理字符串的效率上是相当高的 关于正则表达式的使用,更多的是自己的经验,有兴趣可以参阅相关书籍 这里主要写一下java中的正则操作方法 实例1:匹配 复制代码 代码如下: import java.util.Scanner; class Demo {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        //获取输入        System.out

  • Qt基础开发之QString与QByteArray详细用法与区别及QString QByteArray互转

    QString Qt的QString类提供了很方便的对字符串操作的接口,QString没有继承任何Qt基类. QString::arg()用法 QString str = QString("%1 %2 %3").arg(1).arg(2.0).arg("hello"); ​ %1, %2, %3作为占位符,将被后面的arg()函数中的内容依次替换,比如%1将被替换成1,%2将被替换成2.0,%3将被替换成"hello".输出为:"1 2

  • Java 8新特性 内建函数式接口详解

    Java 8新特性内建函数式接口 在之前的一片博文 Lambda 表达式,提到过Java 8提供的函数式接口.在此文中,将介绍一下Java 8四个最基本的函数式接口 对于方法的引用,严格来讲都需要定义一个接口.不管我们如何操作实际上有可能操作的接口只有四种. Java 8 提供了函数式接口包java.util.function.*,在该包下有许多Java 8内建的函数式接口.不过基本上分为四种基本的: 功能型接口 (Function) 将 T 作为输入,返回 R 作为输出,他还包含了和其他函数组

  • Python操作MongoDB详解及实例

    Python操作MongoDB详解及实例 由于需要在页面展示MongoDB库里的数据,所以考虑使用python操作MongoDB,PyMongo模块是Python对MongoDB操作的接口包,所以首页安装pymongo. 1.安装命令 pip install pymongo 2.查询命令: import pymongo # 创建连接 client = pymongo.MongoClient(host="10.0.2.38", port=27017) # 连接probeb库 db = c

  • 数据结构 栈的操作实例详解

    数据结构 栈的操作实例详解 说明: 往前学习数据结构,想运行一个完整的顺序栈的程序都运行不了,因为书上给的都是一部分一部分的算法,并没有提供一个完整可运行的程序,听了实验课,自己折腾了一下,总算可以写一个比较完整的顺序栈操作的小程序,对于栈也慢慢开始有了感觉.下面我会把整个程序拆开来做说明,只要把这些代码放在一个文件中,用编译器就可以直接编译运行了. 一.实现 1.程序功能 关于栈操作的经典程序,首当要提及进制数转换的问题,利用栈的操作,就可以十分快速地完成数的进制转换. 2.预定义.头文件导入

随机推荐