title: Regex split by non-alphanumeric characters with special treatment of words with apostrophes contractions
body: <p>I am trying to split a string using Regex in C#. I want to split it based on all non-alphanumeric characters but I would like to treat words with apostrophes as whole word when contains a contraction such as: <code>'d</code>, <code>'s</code>, <code>'t</code>.<br>
  An example should clarify what I would like to achieve. Given a sentence such as:</p>
  
  <pre><code>"Steve's dog is mine 'not yours' I know you'd like'it"
  </code></pre>
  
  <p>I would like to obtain the following tokens:</p>
  
  <pre><code>steve's, dog, is, mine, not, yours, i, know, you'd, like, it
  </code></pre>
  
  <p>At the moment I am using:</p>
  
  <pre><code>Regex.Split(str.ToLower(), @"[^a-zA-Z0-9_']").Where(s =&gt; s != String.Empty).ToArray&lt;string&gt;();
  </code></pre>
  
  <p>It returns: </p>
  
  <pre><code>steve's , dog , is , mine , 'not , yours', i , know, you'd, like'it
  </code></pre>