Ich bin auf der Suche nach einer Regex-Anweisung, mit der ich den HTML-Inhalt nur zwischen den Body-Tags aus einem XHTML-Dokument extrahieren kann.Regulärer Ausdruck zum Extrahieren von HTML-Body-Inhalt
Das XHTML, das ich analysieren muss, werden sehr einfache Dateien sein, ich muss mich zum Beispiel nicht um JavaScript-Inhalt oder <![CDATA[
Tags kümmern.
Unten ist die erwartete Struktur der HTML-Datei, die ich analysieren muss. Da ich genau den gesamten Inhalt der HTML-Dateien kenne, mit denen ich arbeiten muss, deckt dieses HTML-Snippet ziemlich genau meinen gesamten Anwendungsfall ab. Wenn ich eine Regex bekommen kann, um den Körper dieses Beispiels zu extrahieren, werde ich glücklich sein.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
</title>
</head>
<body contenteditable="true">
<p>
Example paragraph content
</p>
<p>
</p>
<p>
<br />
</p>
<h1>Header 1</h1>
</body>
</html>
Konzeptionell Ich habe versucht, eine Regex Zeichenfolge zu bauen, die alles, aber den inneren Körpergehalt entspricht. Mit diesem würde ich die C# Regex.Split()
Methode verwenden, um den Körperinhalt zu erhalten. Ich dachte, diese Regex:
((.|\n)*<body (.)*>)|((</body>(*|\n)*)
... würde es tun, aber es scheint nicht überhaupt mit meinen Testinhalten in RegexBuddy zu arbeiten.
'Split()' ist das falsche Werkzeug für diesen Job. Verwenden Sie einfach 'Regex.Match (Betreff) '(? S)
] *> (. *)") .Gruppen [1] .Wert ". –