title: Python String replace based on chars NOT in RegEx
body: <p>Is it possible to create a reqex that finds characters that are NOT is a specific set?</p>
  
  <p>Rather than Blacklisting a bunch of characters and replacing them, it would be easier for me to allow a certain set and replace characters that are not in that set.</p>
  
  <p>My set looks like this:
  [.a-zA-Z0-9]</p>
  
  <p>I would like to do something like this:</p>
  
  <pre><code>clean_filename = re.sub(r'([.a-zA-Z0-9])', "_", filename)
  </code></pre>
  
  <p>obviously this code would replace the characters I want to keep,  is there a way to replace the characters NOT in that set?</p>