title: Insert space between specific characters but not if followed by specific characters regex
body: <p>Using python regex, I wish to insert a space between alpha characters and numerals (alpha will always preceed numeral), but not between (numerals and hyphens) or between (numerals and underscores).</p>
  
  <p>Ideally, I'd like it to replace all such examples on the line <em>(see the 3rd sample string, below)</em>, but even just doing the first one is great.</p>
  
  <p>I've gotten this far:</p>
  
  <pre><code>import re
  item = "Bob Ro1-1 Fred"
  txt = re.sub(r"(.*)(\d)", r"\1 \2", item)
  print(txt) #prints Bob Ro1 -1 Fred (DESIRED WOULD BE Bob Ro 1-1 Fred)
  </code></pre>
  
  <p>I've tried sticking a <code>?</code> in various places to ungreedify the search, but haven't yet found the magic.</p>
  
  <blockquote>
    <p>Sample strings: <code>Original ==&gt; Desired output</code><br>
    1. "Bob Ro1 Sam cl3"  <code>==&gt;</code> "Bob Ro 1 Sam cl 3"<br>
    2. "Some Guy ro1-1 Sam"  <code>==&gt;</code> "Some Guy ro 1-1 Sam"<br>
    3. "ribbet ribbit ro3_2 bob wow cl1-3" <code>==&gt;</code> "ribbit ribbit ro 3_2 bow wow cl 1-3"</p>
  </blockquote>