title: Extract string before colon or parenthesis with regex in python
body: <p>I'm trying to extract the string <code>muscle pain</code> from the following strings.
  I need to use a regular expression that works for all three cases.  </p>
  
  <pre><code>string1 = 'A1 muscle pain: immunotherapy'
  string2 = 'A2B_45 muscle pain: topical medicine e.g. ....'
  string3 = 'A2_45 muscle pain (pain): topical medicine e.g. ....'
  </code></pre>
  
  <p>The following code works for <code>string1</code> and <code>string2</code>. But it does not work for <code>string3</code>. What I get is always <code>muscle pain (pain)</code>. Can anyone help me with that. I tried so many times with different expression but could not figure out how. </p>
  
  <pre><code>re.match(r"^[A-Z]+\d*[A-Z]*_?\d*\s(.*)[:\(]", string3).group(1)
  </code></pre>