python的正則中有findall函式返回乙個所有匹配的結果list.
今天在使用qt的時候發現似乎沒有類似的方法.進而自己寫了乙個, **如下
/**
*@brief
獲取所有的匹配結果
*@param
text
要匹配的文字
**@param
regexp
正規表示式串
*@return
匹配的結果集
*/
qsetuploadbase::getallmatchresults(const
qstringtext,const
qstringregexp)
測試:
假如在如下的test.h 要獲取所有include的檔名
#include #include #include #include #include #include #include #include可以這麼使用
qsetlibreference;
qfilefile(filepath);//filepath是test.h的路徑
if(!file.open(qfile::readonly))
qstringcode=file.readall();
libreference=getallmatchresults(code,"\\w+\\.h");
libreference中的結果為 metro.h, freesiximu.h,fimu_adxl345.h,
fimu_itg3200.h,
wire.h,
liquidcrystal_i2c.h,
irremote.h
Qt使用正規表示式
qt中使用正規表示式的類是qregexp 標頭檔案 先定義正則規則 正則規則跟其他的語言一樣樣 qregexp rx a za z rx.indexin qstring fwlfwiefwf wefwefwef 返回的是匹配對的第乙個下標位置 如果沒有匹配的話返回的是 1 所以只需要判斷返回值是不是...
qregexp括號匹配 QT正規表示式 正則式
示例 qregexp regusername 0 9,a z,a z qregexp regpassword 0 9 ui login user setvalidator new qregexpvalidator regusername,this ui login pass setvalidator...
正規表示式 匹配
字串 void abtr quint32 ab 表示乙個正規表示式 template class bidirectionaliterator class allocator std allocator sub match bidirectionaliterator class match resul...