guten Morgen! Ich verwende c # (Framework 3.5sp1) und möchte folgendes Stück HTML über Regex analysieren:
<h1>My caption</h1>
<p>Here will be some text</p>
<hr class="cs" />
<h2 id="x">CaptionX</h2>
<p>Some text</p>
<hr class="cs" />
<h2 id="x">CaptionX</h2>
<p>Some text</p>
<hr class="cs" />
<h2 id="x">CaptionX</h2>
<p>Some text</p>
Ich brauche folgende Ausgabe:
was ich habe atm:
<hr.*?/>
<h2.*?>(.*?)</h2>
([\W\S]*?)
<hr.*?/>
das wird mir jeden ungeraden subcaption + content (zB. 1, 3, ...) wegen der nachlaufenden <hr/>
. für die Analyse der h1-caption habe ich ein anderes Muster ( <h1.*?>(.*?)</h1>
), das mir nur die <h1.*?>(.*?)</h1>
, aber nicht den Inhalt gibt - mir geht es gut mit dieser ATM.
Hat jemand einen Tipp / eine Lösung für mich oder irgendwelche alternativen Logiken (zB den HTML-Code über den Leser analysieren und so zuordnen?)?
bearbeiten:
Als einige HTMLAgilityPack einbrachten , war ich neugierig auf dieses nette Tool. Ich habe es geschafft, Inhalt des <h1>
-Tags zu bekommen.
aber ... mein Problem analysiert den Rest. Dies wird verursacht durch: die Tags für den Inhalt können variieren - von <p>
bis <div>
und <ul>
... atm scheint dies mehr oder weniger iterieren über das gesamte Dokument und Parsing Tag für Tag ...? irgendwelche Hinweise?
Verwenden Sie Regex nicht, um HTML zu analysieren. Erwägen Sie, das HTML Agility Pack zu verwenden .