0

我有一个 QRegExp 对象列表,这些对象在应用程序的一部分中创建,并在其他部分使用。它们的创建方式如下:

struct HighlightingRule
{
    QRegExp pattern;
    // somoe more stuff... 
};

QStringList keywordPatterns;
for(int i=0; i<keywords.size(); i++)
{
    QString t = QString("\\b") + keywords.at(i).toUpper() + QString("\\b");
    keywordPatterns.append(t);
}

foreach (const QString &pattern, keywordPatterns)
{
    rule.pattern = QRegExp(pattern);
    highlightingRules.append(rule);
}

并使用如下:

foreach (const HighlightingRule &rule, highlightingRules) 
{
    QRegExp expression(rule.pattern);
    // do something with it
}

在我使用它的地方,我想看到我试图使用的表达式的“模式”......

如何打印 QRegExp?

4

1 回答 1

2

尝试这个:

qDebug() << expression.pattern();

返回正则表达式的模式字符串。该模式具有正则表达式语法或通配符语法,具体取决于 patternSyntax()。

于 2013-08-15T09:33:01.123 回答