吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 850|回复: 3
收起左侧

[求助] QT的正则表达式有前后断言 (?<= ) (?=) 吗

[复制链接]
冥界3大法王 发表于 2023-4-18 12:06
本帖最后由 冥界3大法王 于 2023-4-18 12:32 编辑

有以下INI文件
[美女]
NoteName=MeiMei
editBreakCondition=a
editLogText=b
editLogCondition=c
editCommandText=d
editCommandCondition=e
editSwitchCondition=f

[MeiMei]
editBreakCondition=aaa
editLogText=bbb
editLogCondition=ccc
editCommandText=dddd
editCommandCondition=eee
editSwitchCondition=ffff
NoteName=MeiMei

有以下界面:
image.png




怎么没有添加到ComboBox的效果呢?

[C++] 纯文本查看 复制代码
#include "SimpleTraceDialog.h"
#include "ui_SimpleTraceDialog.h"
#include "Bridge.h"
#include <QMessageBox>
#include "BrowseDialog.h"
#include "MiscUtil.h"
#include <QSettings>
#pragma execution_character_set("utf-8");
#include <QDir>
#include <QRegularExpression>
#include <QFile>

void SimpleTraceDialog::on_btnLogFile_clicked(bool checked)
{
     ui->comboBox->clear();
//  ui->comboBox->addItem("中国");

         QString iniPath = QCoreApplication::applicationDirPath();
         QDir dir(iniPath);
         bool bSuccess = dir.cdUp();
         if (bSuccess == true) {
             iniPath = dir.path() + "/" + "config.ini";
         }
     QFile file(iniPath);
         if (file.open(QIODevice::ReadOnly | QIODevice::Text))
         {
             while (!file.atEnd())
             {
                 QByteArray line = file.readLine();
                 QString str(line);
                // ui->comboBox->addItem(str);
                //上面是按行读取写到ComboBox上的测试;下面改成只弄正则对应的的添加
                 QRegularExpression re("(?<=\[).*(?=\])");
                 QRegularExpressionMatch match = re.match(str);
                   if (match.hasMatch())
                   {
                       QString matched = match.captured(0);
                       ui->comboBox->addItem(matched);
                    }
             }
             file.close();
         }
     }

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 冥界3大法王 发表于 2023-4-18 13:23
本帖最后由 冥界3大法王 于 2023-4-18 13:25 编辑

请教了下好友,原来各自少了个\
另外,另外,我还不能用上面的正则
因为要匹配的内容有【】作为表达式
所以前面改用^开头的行。。。
捕获成功,再执行替换。。
xouou 发表于 2023-4-18 18:28
 楼主| 冥界3大法王 发表于 2023-4-19 18:34
昨天脑袋进水了。。。
匹配^开头的加上断言,后面不变,替换就省了,今天刚清醒。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-11 10:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表