我以下列方式使用QRegExp:
QStringList variables;
QRegExp re("([A-Z]+\\d+)");
QString formula = "=+(AB2)-A11*1.1";
int pos = 0;
while ((pos = re.indexIn(formula, pos)) != -1) {
variables << re.cap(1);
pos += re.matchedLength();
}
qDebug()<<variables;
应打印以下内容:("AB2", "A11")
,但会打印()
;一个空列表。但是,如果我在字符串=
的开头删除字符formula
,则除了字符=
之外,它可以在开头使用并与其他任何字符一起使用。
任何关于它为什么的想法?