title: regex for string starts with characters in range
body: <p>I have an oracle database and filter by regex to find entries with names starting wir a wetter within a specific range. For example, to find all names starting with A, B or C I just use:</p>
  
  <pre><code>.. WHERE REGEXP_LIKE (last_name, '^[A-C]');
  </code></pre>
  
  <p>but I am searching for a solution to filter for something like. Find alls names starting with "Ab"-"Ch". Does someone has an idea how to do this?</p>
  
  <p>thank you. Phill</p>
  
  <p>EDIT:
  I forgot to say that I am from Germany and I also need to support special characters. Oracle regex has a special ability to use all variations of a letter. For example [=A=] means all variations of A like a, ä, Ä and so on.</p>
  
  <p>The solution of chocochaos gave me a nice hint to solve my problem. For Example, if I want to find all names Starting with "Ne" until all Names Starting with "Ot" (including special characters) I can use</p>
  
  <pre><code>WHERE REGEXP_LIKE (last_name, '^(([=A=][[=N=]-[=Z=]])|([=B=][[=A=]-[=E=]]))');
  </code></pre>
  
  <p>EDIT2:
  another nice solution I found out is normalizing all name-strings to values wich contain no special characters anymore. For me the result is the same, but its definitely faster:</p>
  
  <pre><code>LOWER(convert(last_name, 'US7ASCII' )) &gt;= LOWER('An') AND SUBSTR(LOWER(convert(last_name, 'US7ASCII' )),1,LENGTH('Be')) &lt;= LOWER('Be')
  </code></pre>