HtmlAgilityPack能否在其XPATH選擇器中使用正則表達式?

c# html-agility-pack regex xpath

我希望能夠創建一個節點集合,其中文本以單詞開頭,然後是數字。例如,給出以下內容:

<p>FINDTHIS 1</p>
<p>FINDTHIS SOMETEXT</p>
<p>FINDTHIS 2</p>

我希望能夠創建一個由兩個段落節點組成的集合:FINDTHIS 1和FINDTHIS 2。

一種可能的方法是創建一個xpath查詢,如//p[starts-with(., 'FINDTHIS ')] ,然後使用正則表達式來確定下一個字符是否為數字。如果我想獲得返回上述條件的匹配列表,我可以創建一個正則表達式對象並測試集合中每個成員的文本。

有沒有辦法使用HtmlAgilityPack直接在選擇器中使用正則表達式?

一般承認的答案

不, HTML Agility Pack目前不支持此功能。它支持XPath版本1查詢,不支持正則表達式

也就是說,您必須按照建議進行操作並選擇使用XPath表達式直到您想要使用正則表達式,然後使用Where擴展方法根據RegEx實例過濾掉相應的節點。


熱門答案

它不是開箱即用的,但您可以輕鬆添加此功能。它在這裡描述: HtmlAgilityPack:xpath和regex




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因