2013-08-15 8 views
0

У меня есть список объектов QRegExp, которые создаются в одной части приложения и используются в какой-либо другой части. Они созданы как:Как распечатать 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?

ответ

2

Попробуйте это:

qDebug() << expression.pattern(); 

Возвращает строку шаблона регулярного выражения. У шаблона есть либо синтаксис регулярного выражения, либо подстановочный синтаксис, в зависимости от patternSyntax().