You cannot use a RE to parse HTML. REs are not that powerful. Specifically they do pattern matching and that doesn't work to parse HTML. If it did then we'd never need actual parsers. REs are used to scan and identity tokens from which parsers are built to understand what the tokens mean. For example the following HTML would fail any RE you tried to use on it unless you explicitly wrote the RE to handle this very specific case.
<!-- <br /> -->
<script>
function foo () {
console.write("<BR/>");
}
</script>
Unless your HTML is incredibly simple AND you make assumptions about what it contains then your only real option is to use an HTML parser. I have had a lot of luck using HtmlAgilityPack in the past. Basically you load the HTML into the parser and then you can swap out the things you don't want, like linebreaks.
It isn't clear to me what "to a plain text style in a legible presentation" really means to you. It sounds like you want to replace the HTML with the equivalent text (e.g. an actual table for a <table>, a header for <h1>, etc). But that is exactly what the browser is for. So if you want the formatted equivalent then I'd say load the HTML into a browser engine and then "print" the output. You won't get the raw text back but that isn't going to happen anyway because there is no textual representation of a table structure (or divs or images).
If you really need a "plain text" equivalent then you'll have to define that structure yourself and an HTML parser can at least handle the parsing aspect. You then just have to decide how to "render" each HTML element (e.g. horizontal line, image, etc). This is interestingly like how Markdown works but it goes the other way.
If you really just want the HTML but with linebreaks converted then a simple call to Replace would be sufficient. It won't work properly with comments or scripts (as mentioned earlier) but that may not be an issue you care about.
Private ReadOnly s_htmlBreakRe As New Regex("<br\s*(/)?>", RegexOptions.IgnoreCase Or RegexOptions.Singleline)
Function ReplaceHtmlLineBreak(html As String) As String
Return s_htmlBreakRe.Replace(html, Environment.NewLine)
End Function