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

Qt 正则表达式提取文件中的 USB 设备 ID

Qt 正则表达式提取文件中的 USB 设备 ID

flyfish

文档内容

Bus: 001 Device: 001 Description: 1d6b:0002 Linux Foundation 2.0 root hub
Bus: 002 Device: 003 Description: 0e0f:0002 , Inc. USB Hub
Bus: 002 Device: 002 Description: 0e0f:0003 , Inc. Mouse
Bus: 002 Device: 001 Description: 1d6b:0001 Linux Foundation 1.1 root hub

代码

#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QStringList>
#include <QRegularExpression>
#include <QDebug>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 默认文件路径QString defaultFilePath = "./usb_devices.txt";// 从命令行参数中获取文件路径QString filePath = (argc > 1) ? QString::fromLocal8Bit(argv[1]) : defaultFilePath;// 打开文件QFile file(filePath);if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {qCritical() << "无法打开文件:" << filePath;return 1;}// 读取文件内容QTextStream in(&file);QString content = in.readAll();file.close();// 使用正则表达式匹配 USB 设备的 IDQRegularExpression regex("Description:\\s*([0-9a-fA-F]{4}:[0-9a-fA-F]{4})");QRegularExpressionMatchIterator i = regex.globalMatch(content);while (i.hasNext()) {QRegularExpressionMatch match = i.next();QString id = match.captured(1);qDebug() << "USB 设备 ID:" << id;}return 0;
}

结果

USB 设备 ID: "1d6b:0002"
USB 设备 ID: "0e0f:0002"
USB 设备 ID: "0e0f:0003"
USB 设备 ID: "1d6b:0001"
http://www.lryc.cn/news/484827.html

相关文章:

  • 使用 Python 和 OpenCV 实现摄像头人脸检测并截图
  • 【二叉搜素树】——LeetCode二叉树问题集锦:6个实用题目和解题思路
  • 【计算机视觉】FusionGAN
  • 问:SQL优化,七条实践总结?
  • unity单例模式的不同声明(待完善
  • 大模型在蓝鲸运维体系应用——蓝鲸运维开发智能助手
  • vue2,vue3响应式的理解
  • 群控系统服务端开发模式-应用开发-前端退出功能
  • Web入门
  • 基于SpringBoot网上超市的设计与实现录像
  • python爬虫(二)爬取国家博物馆的信息
  • 【mysql的当前读和快照读】
  • [CKS] Audit Log Policy
  • 【Linux】-学习笔记03
  • Leetcode热题100-32 最长有效括号
  • 【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
  • A027-基于Spring Boot的农事管理系统
  • Redisson的可重入锁
  • SQL Server Service Broker完整示例
  • CentOS7 升级OpenSSH9.0全过程和坑
  • RSTP的配置
  • 力扣257:二叉树的所有路径
  • Tcl 和 Python 在二次开发研究
  • 【NLP优化】Ubuntu 20.04 下 源码安装 CasADi + Ipopt / acados
  • [241110] 微软发布多智能体系统Magentic-One | 社区讨论:Ubuntu 26.04 LTS 发布前移除 Qt 5
  • AI风向标|算力与通信的完美融合,SRM6690解锁端侧AI的智能密码
  • MySQL查询执行(六):join查询
  • python习题练习
  • MySQL高级(二):一条更新语句是如何执行的
  • 在 Ubuntu 18.04 中搭建和测试 DNS 服务器