我使用QHighlighter类,并使用regExp突出显示引号中的单词:
void Highlighter::highlightBlock(const QString &text)
{
QRegExp expr("\"(.*?)\"");
int index = expr.indexIn(text);
while(index >=0)
{
int length = expr.matchedLength();
setFormat(index, length, Qt::red);
index = expr.indexIn(text, index+length);
}
}
它不起作用。这样做:
"\".*\""
但它突出了不必要的。什么正则表达式是正确的?
答案 0 :(得分:2)
高亮显示引号之间的所有内容
QRegExp("\"([^\"]*)\"");
突出显示单个单词(在带有偏移的循环中运行以匹配单词)
QRegExp("\"(\\w)*\"");
答案 1 :(得分:0)