How about something like that?
It writes everything between tags <body></body>(case insensitive because of RegexOptions.IgnoreCase) in a group with a name theBody.
RegexOptions.Singleline Allows multi-line HTML to be processed as a single line.
HTML <body></body>, Success .
string html;
RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Singleline;
Regex regx = new Regex( "<body>(?<theBody>.*)</body>", options );
Match match = regx.Match( html );
if ( match.Success ) {
string theBody = match.Groups["theBody"].Value;
}