2012-10-29 27 views
0

這裏是我的正則表達式用正則表達式解析HTML卡在東西

Dim TableHeaderExpression As String = "<th[^>]*>(.*?)</th>" 

,這裏是我的HTML

<th class="seller-col"> 
<b>Relevanz</b> 
<span class="ps-sprite ps-sprite-sortdw" title=""></span> 
</th> 

這種表達給了我個標籤裏面一切,所以它輸出

<b>Relevanz</b> 
    <span class="ps-sprite ps-sprite-sortdw" title=""></span> 

但我怎麼只輸出

Relevanz 

意義忽略內部<th>所有文字,除了什麼內部<b>

+2

Regex是[解析HTML](http://stackoverflow.com/a/1732454/1583)的糟糕選擇。 – Oded

+1

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Wug

+0

@Oded沒有它,我正在使用它來將HTML錶轉換爲Datatable,到目前爲止它的完美 – user1570048

回答

1

而不是使用正則表達式解析HTML(not the best option)的,使用HTML Agility Pack解析和查詢HTML。

這是一個靈活的HTML解析器,建立一個讀/寫DOM和支持純XPath或XSLT(你居然沒有了解XPATH也不XSLT使用它,不要擔心...)。它是一個.NET代碼庫,允許您解析「離開網頁」的HTML文件。解析器對「真實世界」格式錯誤的HTML非常寬容。對象模型與提出System.Xml非常相似,但是對於HTML文檔(或流)。