title: Lookahead in Oracle's regular expressions
body: <p>I've got a problem with Oracle's regexes. I have lots of phone-numbers in different tables. Now my task is to unify them. So I take out all blanks, underscores, minuses and whatnot. But then the tricky part comes - which seemed so easy at first.</p>
  
  <p>There are numbers both with and without international code, so e.g. 0046812345678 and 0812345678. So I want to replace one single (!) leading zero with '0046'. I thought that <code>^0(?=[1-9])</code> would do the job but Oracle seems to think that lookaheads are useless.
  <code>(^0)(1|2|3|4|5|6|7|8|9)</code> doesn't do the job either (or <code>(^01|02|03|04|05|06|07|08|09)</code> for that matter) since it would replace the first non-zero number as well making 0812345678 into 004612345678 (so, the first '8' disappears).</p>
  
  <p>I searched and tried for quite some time now and can't come up with any more possibilities. Any help would be greatly appreciated. Thanks in advance!</p>