title: python: exclude string regular expression
body: <p>i'm trying to build a web scraper to get prices off <a href="http://fetch.co.uk/dogs/dog-food?per-page=20" rel="nofollow">http://fetch.co.uk/dogs/dog-food?per-page=20</a></p>
  
  <p>I have the code here below:</p>
  
  <pre><code>import re
  from urllib.request import urlopen
  from bs4 import BeautifulSoup
  
  html = urlopen(url above)
  bsObj = BeautifulSoup(html,"html.parser")
  
  wrapList = bsObj.findAll("",{"class": re.compile("shelf-product__self.*")})
  for wrap in wrapList:
      print(wrap.find("",{"itemprop": re.compile("shelf-product__price.*(?!cut).*")}).get_text())
      print(wrap.find("",{"class": re.compile("shelf-product__title.*")}).get_text())
  </code></pre>
  
  <p>In every wrap, there are sometimes 2 different prices and I am trying to exclude the cut price and get only the price below that one (the promo price).</p>
  
  <p>i cannot figure out how to exclude the price with cut, the expression above does not work.</p>
  
  <pre><code>"shelf-product__price shelf-product__price--cut [ v2 ]"
  "shelf-product__price shelf-product__price--promo [ v2 ]"
  </code></pre>
  
  <p>I have used the workaround below but i'd like to understand what i am getting wrong in the regular expression. sorry if the code is not pretty, i'm learning</p>
  
  <pre><code>import re
  from urllib.request import urlopen
  from bs4 import BeautifulSoup
  
  html = urlopen(url above)
  bsObj = BeautifulSoup(html,"html.parser")
  
  wrapList = bsObj.findAll("",{"class": re.compile("shelf-product__self.*")})
  for wrap in wrapList:
      print(wrap.find("",{"itemprop": re.compile("price.*")}).get_text())
      print(wrap.find("",{"class": re.compile("shelf-product__title.*")}).get_text())
  </code></pre>