title: change case unless it's a hyper link in python
body: <p>What would be the easiest way to change a string, while preserving white space, changing every upper case letter to lower case except for links?</p>
  
  <p>All the links start with 'http://' or 'https://'</p>
  
  <p>An example would be:</p>
  
  <pre><code>HELLO     HOW ARE YOU  CHECK OUT THIS: http://sOme.Link THIS IS AWESOME
  </code></pre>
  
  <p>should change into:</p>
  
  <pre><code>hello     how are you  check out this: http://sOme.Link this is awesome
  </code></pre>
  
  <p>I tried .lower() which of course messes up the links. I thought about doing it word by word but that will mess up the white space.</p>
  
  <p>So I am guessing there must be something like a 'sed' command but couldn't find it.</p>