2014-02-07 51 views
0


我有以下輸入:QRegExp不承認表達

(& XXX-&年)& 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

通過使用解決了它:

QStringList list; 
int pos = 0; 

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

Reference