title: Regex: Want to change case of letter following one of a set, except HTML entity
body: <p><strong>Examples:</strong></p>
  
  <pre><code>rythm&amp;blues                   -&gt; Rythm&amp;Blues  
  .. DON&amp;apos;T WEAR WHITE/LIVE -&gt; Don&amp;apos;t Wear White/Live
  </code></pre>
  
  <p>First I convert the whole string to lowercase (because I want to have only Uppercase at the start of a word).</p>
  
  <p>I currently do this by using a split pattern: <code>[&amp;/\\.\\s-]</code> 
  And then I convert the parts' first letter to Uppercase.</p>
  
  <p>It works well, except, that it also converts HTML entities of course:
  E.g. <code>don&amp;apos;t</code> is converted to <code>don&amp;Apos;t</code> but that entity should be left alone.</p>
  
  <p>While writing this I discover an additional problem... the initial conversion to lowercase potentially messes up some HTML entities as well. So, the entities should be totally left alone. (E.g. <code>&amp;Ccedil;</code> is not the same as <code>&amp;ccedil;</code>)</p>
  
  <p>An HTML entity is probably matched like this: <code>&amp;[a-z][A-Z][a-z]{1,5};</code></p>
  
  <p>I am thinking of doing something with groups, but unfortunately I find it very hard to figure out.</p>