Another character trying to parse HTML with regular expressions.
Just do not need to do this. HTML grammar is irregular (level 2) and you just need to take any DOM or XML parser. Everything.

PS TC don't think anything personal, it's just a really bad idea and a common misconception, threads that constantly pop up (there were two today) and which I was already fed up with. Let's say js one-liner that easily pulls out the "Description declared" from the first diva in this HTML.
var text = document.getElementsByClassName("item_description")[0].childNodes[0].nodeValue;
It's easier than trying this:
<\/?([A-Za-z][^\s>\/]*)(?:=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)|[^>])*(?:>|$)
Pull tags, for example, from this construction:
<script> a<b; if(div>0) alert("</div>"); </script>
div.item_descriptor + div(the div that immediately follows<div class="item_description">..</div>). You can usex ~ yinstead ofx + yif theyelement followsx(not necessarily immediately ) . In more complex cases, you can use xpath expressions to select the desired item. - jfs