2

我尝试了以下正则表达式来删除括号之间的 {anything} (希望括号本身)!

    mystr.remove(QRegExp("\\{(.*?)\\}"));
    mystr.remove(QRegExp("\{(.*?)\}"));

没有任何东西被删除

4

1 回答 1

7

.*?是无效的。试试下面的代码:

主文件

#include <QString>
#include <QDebug>
#include <QRegExp>

int main()
{
    QString mystr = "te{foo}st";
    qDebug() << mystr.remove(QRegExp("\\{(.*)\\}"));

    return 0;
}

汇编

这可能不是您需要运行的确切命令,因此请尝试针对您的特定场景调整概念。

g++ -I/usr/include/qt/QtCore -I/usr/include/qt -fPIC -lQt5Core main.cpp && ./a.out

输出:"test"

于 2013-09-25T23:55:47.613 回答