3

テキストが単語で始まり、次に数字で始まるノードのコレクションを作成できるようにしたいと考えています。たとえば、次のようになります。

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

FINDTHIS 1 と FINDTHIS 2 の 2 つの段落ノードで構成されるコレクションを作成できるようにしたいと考えています。

考えられるアプローチの 1 つは、次のような xpath クエリを作成し//p[starts-with(., 'FINDTHIS ')]、正規表現を使用して次の文字が数字かどうかを判断することです。上記の基準を返す一致のリストを取得したい場合は、正規表現オブジェクトを作成して、コレクション内の各メンバーのテキストをテストできます。

HtmlAgilityPack を使用してセレクター内で直接正規表現を利用する方法はありますか?

4

2 に答える 2

2

いいえ、HTML Agility Packは現在これをサポートしていません。正規表現をサポートしない XPath バージョン 1 クエリをサポートします。

とはいえ、正規表現を使用するポイントまで XPath 式を使用して選択し、Where拡張メソッドRegExを使用して、インスタンスに基づいて適切なノードをフィルター処理する必要があります。

于 2012-07-30T21:08:24.377 に答える
1

すぐに使用できるわけではありませんが、この機能を簡単に追加できます。ここで説明されています: HtmlAgilityPack: xpath and regex

于 2014-11-21T11:26:08.950 に答える