QRegExp无法识别表达式

时间:2014-02-07 13:31:10

标签: regex qt qregexp


我有以下输入:

  

(& 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/检查了它并且它有效。

1 个答案:

答案 0 :(得分:0)

使用:

解决了这个问题
 QStringList list;
 int pos = 0;

 while ((pos = rx.indexIn(str, pos)) != -1) {
      list << rx.cap(1);
      pos += rx.matchedLength();
 }

Reference