title: Regex to match words followed by whitespace or punctuation
body: <p>If I have the word <code>india</code> </p>
  
  <p>MATCHES
  <code>"india!" "india!" "india." "india"</code></p>
  
  <p>NON MATCHES <code>"indian" "indiana"</code></p>
  
  <p>Basically, I want to match the string but not when its contained within another string. </p>
  
  <p>After doing some research, I started with </p>
  
  <p><code>
  exp = "(?&lt;!\S)india(?!\S)" 
  num_matches = len(re.findall(exp))
  </code></p>
  
  <p>but that doesn't match the punctuation and I'm not sure where to add that in. </p>