我有以下输入:
(& xxx-& yyyy)& pp_pp +& uuu
我正在努力获得以&开头的所有比赛。然后是任何单词字符。
例如。以上应该屈服于:
&安培; XXX
&安培; YYYY
&安培; pp_pp
&安培; UUU
我尝试的是:
QRegExp rx;
rx.setPattern("(&\\w+)+");
rx.indexIn("(&xxx-&yyyy) &pp_pp+&uuu");
QStringList variables;
for(int i = 1; i < rx.captureCount(); i++)
{
variables.append(rx.cap(i));
}
我只是没有得到任何匹配。我的错在哪里?
如果我有上述输入,则rx.captureCount()始终为1.
我不认为这是我的正则表达是错误的,因为我在http://regexpal.com/检查了它并且它有效。
答案 0 :(得分:0)
使用:
解决了这个问题 QStringList list;
int pos = 0;
while ((pos = rx.indexIn(str, pos)) != -1) {
list << rx.cap(1);
pos += rx.matchedLength();
}