title: regex to ignore html tags but start at a word boundry with varied end anchors
body: <p><strong>Let me start off by saying I need a regex only solution.</strong></p>
  
  <p>I'm trying to pull a description from html files with a 3rd program program. <strong>This program is java based, but I cannot manipulate the source code in any way!</strong>. The program I submit the regex into already has another regex script designating where to grab the description from on every page. It has this handy feature to further break down that info into an array if you define the matches within.</p>
  
  <p><strong>I want to match every sentence in the description regardless of if it is a list item or not. Getting rid of the tags would be ideal since they are causing problems using <code>\b</code> to designate where to start the match.</strong></p>
  
  <p>At first I thought I could just write a regex solution that captures everything between a word boundary and a sentence ending character. Something like this <code>\b([^.!]+)[.!]</code> Then I noticed a problem where the description will sometimes have an additional part with list items. What complicates it even more is that sometimes the first part of the list item will be bolded or italicized. Even more rarely there might be a random <code>&lt;br&gt;</code> and <code>&lt;/br&gt;</code> tag in there for reasons I don't understand...</p>
  
  <p>Here is an example description of the common layout from a hilarious article:</p>
  
  <pre><code>Children around the world are constantly exposed to the evil “Dolan”, an evil 
  duckwho encourages rape, murder, pedophilia, stealing, homosexuality and a range
  of other sins.  ”Dolan” is considered a “meme”: an image that makes its way
  around the internet via social networks such as Myspace, Friendster, or
  Wikipedia.
  
  &lt;li&gt;The duck is based on the character “Donald” created by the company Disney. 
  &lt;/li&gt;&lt;li&gt;&lt;b&gt;Dolan, however&lt;/b&gt;, is more overtly satanic and enjoys commit crimes
  and offending Christianity. &lt;/li&gt;&lt;li&gt;He is best known for a series of internet 
  comics created in the socialist nation of Finland. &lt;/li&gt;&lt;li&gt;&lt;i&gt;Being part of
  Scandinavia&lt;/i&gt;, the Finnish are clearly followers of Satan and Skrillex. &lt;/li&gt;
  &lt;li&gt;The comics are written in poor English to distract the viewer from how evil
  and offensive they truly are.&lt;/li&gt;
  </code></pre>
  
  <p>I tried a couple different things, but am still quite a regex noob and got a variety of different returns that didn't work correctly. This one broke everything up starting with whatever letter was in a tag:</p>
  
  <pre><code>(?:&lt;li&gt;|&lt;b&gt;|&lt;i&gt;)?\b([^.!&lt;]+)[.!&lt; ][&lt;lbi/ ]
  </code></pre>
  
  <p>Above code gives an array like this (order gets randomized or at least organized in a way I don't understand)</p>
  
  <pre><code>i&gt;
  Being Part of Scandinavia
  i&gt;
  b&gt;
  Dolan, however
  b&gt;
  </code></pre>
  
  <p>The same one with nearly identical could would leave in some of the html tags which I assume is because <code>li&gt;</code> fills the the word boundary requirement. <strong>Note: there is a space on the end of the code below</strong></p>
  
  <pre><code>\b([^.!&lt;]+)[.!] 
  </code></pre>
  
  <p>This gives an array like this</p>
  
  <pre><code>li&gt;The duck is based on the character “Donald”...
  li&gt;li&gt;b&gt;Dolan, however/b&gt;, is more overtly satanic...
  </code></pre>
  
  <p>Like I said earlier I'm a noob to regex and am more than certain I'm using the lookahead wrong.</p>
  
  <p><strong>Please help me with a solution! I don't know what to try next.</strong></p>
  
  <p><em>PS, I didn't write the article, I copied it from another website. Not trying to be offensive</em></p>