Estoy buscando una declaración de expresiones regulares que me permita extraer el contenido HTML de solo entre las etiquetas de cuerpo de un documento XHTML.Expresión regular para extraer contenido de cuerpo HTML
Los XHTML que necesito analizar son archivos muy simples, no tengo que preocuparme por el contenido de JavaScript o las etiquetas <![CDATA[
, por ejemplo.
A continuación se muestra la estructura esperada del archivo HTML que tengo que analizar. Como sé exactamente todo el contenido de los archivos HTML con los que voy a tener que trabajar, este fragmento de HTML cubre prácticamente todo mi caso de uso. Si puedo obtener una expresión regular para extraer el cuerpo de este ejemplo, seré feliz.
<!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>
Conceptualmente, he estado tratando de construir una cadena de expresiones regulares que coincida con todo, PERO con el contenido del cuerpo interno. Con esto, usaría el método C# Regex.Split()
para obtener el contenido del cuerpo. Pensé que esta expresión regular:
((.|\n)*<body (.)*>)|((</body>(*|\n)*)
... que hacer el truco, pero no parece funcionar en absoluto con mi contenido de la prueba en RegexBuddy.
'Split()' es la herramienta incorrecta para este trabajo. Simplemente use 'Regex.Match (subject," (? S)
] *> (. *) ") .Groups [1] .Value'. –