我有一个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?
答案 0 :(得分:2)
试试这个:
qDebug() << expression.pattern();
返回正则表达式的模式字符串。模式有 正则表达式语法或通配符语法,取决于 patternSyntax()。