我正在下載一個網頁,並試圖從中提取一些值。使用QRegExp從html字符串中提取href值
,我感興趣的是這種類型的網頁的地方:
<a data-track=\"something\" href=\"someurl\" title=\"Heaven\"><img src=\"somesource.jpg\" /></a>
,我需要提取HREF(someurl)值。請注意,在我的HTML字符串中有多個條目,比如上面的條目,因此我將使用列表來存儲從字符串中提取的所有URL。
這是我到目前爲止已經試過:
QString html_str=myfile();
QRegExp regex("<a data-track\\=\"something\" href\\=\".*(?=\" title)");
if(regex.indexIn(html_str) != -1){
QStringList list;
QString str;
list = regex.capturedTexts();
foreach(str,list)
qDebug() << str.remove("<a data-track=\"something\" href=\"");
}
與上面的代碼我只有一次發生(list.count() == 1
),其中包含從someurl
第一次出現,直到的結束整個HTML串文件,其中沒有<a data-track="something" href=""
,它們全部被刪除。
的位置HTTP ://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – 2013-02-22 20:41:14
使用'QtWebKit'。不要使用正則表達式解析html。 – 2013-02-22 20:43:09