<p>I would like to extract from a general HTML page, all the text (displayed or not).</p>

<p>I would like to <strong>remove</strong> </p>

<ul>
<li>any HTML tags</li>
<li>Any javascript</li>
<li>Any CSS styles</li>
</ul>

<p>Is there a regular expression (one or more) that will achieve that?</p>

Using perl syntax for defining the regexes, a start might be:
```
```
!<body.*?>(.*)</body>!smi
```
```
Then applying the following replace to the result of that group:
```
```
!<script.*?</script>!!smi
!<[^>]+/[ \t]*>!!smi
!</?([a-z]+).*?>!!smi
/<!--.*?-->//smi
```
```
This of course won't format things nicely as a text file, but it strip out all the HTML (mostly, there's a few cases where it might not work quite right). A better idea though is to use an XML parser in whatever language you are using to parse the HTML properly and extract the text out of that.