0

次の文字列があるとします。

"<description>This is the description,<strong> I want to retrieve this text</strong></description> and this is not the description."

そして、2 つの説明タグ/文字列の間の文字列の一部を抽出したいだけです。HTMLアジリティパックのようなものをインストールして使用できることは知っていますが、このような1つの目的のタスクには適していません。また、.net XML パーサーは、html ではうまく機能しないため、実行できません。

4

3 に答える 3

2
var description = Regex.Match(s, @"<description>(.*)</description>").Groups[1];
于 2012-05-26T11:56:34.920 に答える
1

ルックアラウンドで正規表現を使用して、開始タグと終了タグを一致させることができます。

string description = 
    Regex.Match(html, @"(?<=<description>).*?(?=</description>)").Value;

ただし、このアプローチは非常に脆弱であることに注意してください。たとえば、<description>要素が属性を持っていない、ネストされていない、または自己終了していないことを前提としています。

于 2012-05-26T12:08:23.540 に答える
0

次のコードを使用して、正規表現を使用して説明タグ間の文字列を取得できます。

 Regex objPatterntable = new Regex("<description [^>]*?>.*?</description>", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
于 2012-05-26T14:11:44.887 に答える