当前位置: 首页 > news >正文

qt中的正则表达式

问题:

1.在文本中把dog替换成cat,但可能会把dog1替换成cat1,如果原本不想替换dog1,就会出现问题

2文本中想获取某种以.txt为结尾的多有文本,普通的不能使用

3如果需要找到在不同的系统中寻找·换行符,可以查找/r/n,或者/n

3如果此时想找一些普通的文本,只需要简单的find,效率可能更快

1 匹配:检查某一个文本是否符合某种格式(比如邮箱)

2 搜索:在文本中快速找到符合某一特征的内容(比如提取所有的电话号码)

3 替换:将符合格式的文本替换成其他内容(比如批量需改日期格式)

4 分割:按照模式将文本划分成多个部分(比如使用逗号或者换行符进行分割)

可以结合qt中的QStringList

QStringList AdbProcessImpl::getDevicesSerialFromStdOut()
{
    // get devices serial by adb devices
    QStringList serials;
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
    QRegExp lineExp("\r\n|\n");
    QRegExp tExp("\t");
#else
    QRegularExpression lineExp("\r\n|\n");
    QRegularExpression tExp("\t");
#endif
    QStringList devicesInfoList = m_standardOutput.split(lineExp);
    for (QString deviceInfo : devicesInfoList) {
        QStringList deviceInfos = deviceInfo.split(tExp);
        if (2 == deviceInfos.count() && 0 == deviceInfos[1].compare("device")) {
            serials << deviceInfos[0];
        }
    }
    return serials;
}

相关文章:

  • 【记录】Docker 镜像
  • Java-面向对象
  • ffprobe是如何处理命令行参数的.
  • BFD:网络链路检测与联动配置全攻略
  • 易境通WMS系统代理仓解决方案:让代理仓管理无后顾之忧!
  • 07软件测试需求分析案例-修改用户信息
  • 手机端可部署的开源大模型; 通义千问2.5训练和推理需要的内存和外存
  • 【DDR 内存学习专栏 1.4 -- DDR 的 Bank Group】
  • 机器学习:让数据开口说话的科技魔法
  • 网络基础和socket
  • 面试宝典(C++基础)-01
  • AlexNet神经网络详解及VGGNet模型和
  • 深度学习中的数学基础:从向量到概率的全面解析
  • 测试第三课-------自动化测试相关
  • 第十九讲 XGBoost 二分类模型案例(遥感数据识别玉米与小麦地块)
  • HTML:网页的骨架 — 入门详解教程
  • Python heapq模块
  • 【Pandas】pandas DataFrame items
  • AIGC工具平台-建筑平面图3D渲染
  • Android studio Unknown Kotlin JVM target: 21
  • 北大学者:过度依赖技术工具可能会削弱人类主动思考的能力
  • 内蒙古镶黄旗委原书记好毕斯哈拉图履新锡林郭勒盟民政局局长
  • 北京市交通委通报顺平路潮白河大桥事故直接原因
  • 北朝时期的甲胄
  • 世界读书日丨阅读与行走,都是理解世界的方式
  • 上海银行换帅:顾建忠出任党委书记,金煜辞任董事长