title: Allow parenthesis in postgreSQL regular expression text
body: <p>These sentences work</p>
  
  <pre><code>SELECT (regexp_matches('Euroschinus Hoff+300'::text, E'(Euroschinus Hoff[\+])([0- 9]+)'::text)::text[])[1]::text as counter 
  select array_scientificname from simple_cal where array_scientificname ~ 'Semecarpus'
  </code></pre>
  
  <p>But, if there are some parenthesis, never mind where in the text, both don't work</p>
  
  <pre><code>SELECT (regexp_matches('Euroschinus (testing) Hoff+300'::text, E'(Euroschinus (testing)  Hoff[\+])([0-9]+)'::text)::text[])[1]::text as counter 
  select array_scientificname from simple_cal where array_scientificname ~  'Semecarpus(test)'
  </code></pre>
  
  <p>I just want to get, the text. There is no defined pattern for () , can be anywhere on the text.</p>
  
  <p>I noticed that using \ before parenthesis it does the trick (see below), but this is not practical at all. I think i should include somewhere that () are allowed in the string...</p>
  
  <pre><code>SELECT (regexp_matches('Euroschinus (testing) Hoff+300'::text, E'(Euroschinus jaffrei \\(testing\\) Hoff[\+])([0-9]+)'::text)::text[])[1]::text as counter
  </code></pre>