HtmlAgilityPack能否在其XPATH选择器中使用正则表达式?
我希望能够创建一个节点集合,其中文本以单词开头,然后是数字。 例如,给出以下内容:
FINDTHIS 1
FINDTHIS SOMETEXT
FINDTHIS 2
我希望能够创建一个由两个段落节点组成的集合:FINDTHIS 1和FINDTHIS 2。
一种可能的方法是创建一个xpath查询,如//p[starts-with(., 'FINDTHIS ')]
,然后使用正则表达式来确定下一个字符是否为数字。 如果我想获得返回上述条件的匹配列表,我可以创建一个正则表达式对象并测试集合中每个成员的文本。
有没有办法使用HtmlAgilityPack直接在选择器中使用正则表达式?
不, HTML Agility Pack目前不支持此function。 它支持XPath版本1查询,不支持正则表达式 。
也就是说,您必须按照建议进行操作并选择使用XPath表达式直到您想要使用正则表达式,然后使用Where
扩展方法根据RegEx
实例过滤掉相应的节点。
它不是开箱即用的,但您可以轻松添加此function。 它在这里描述: HtmlAgilityPack:xpath和regex