Oracle の正規表現に問題があります。さまざまなテーブルにたくさんの電話番号があります。今の私の仕事はそれらを統一することです。だから私はすべての空白、アンダースコア、マイナスなどを取り除きます. しかし、それからトリッキーな部分が来ます - 最初はとても簡単に思えました.
0046812345678 と 0812345678 のように、国際コードの有無にかかわらず番号があります。そのため、1 つの先行ゼロ (!) を '0046' に置き換えたいと考えています。私はそれでうまくいくと思って^0(?=[1-9])
いましたが、オラクルは先読みは役に立たないと考えているようです。
0812345678 を 004612345678 にするだけでなく、最初のゼロ以外の数字を置き換えるため (つまり、最初の '8' が消えます)、(^0)(1|2|3|4|5|6|7|8|9)
どちらも (またはその点で) 仕事をしません。(^01|02|03|04|05|06|07|08|09)
私はかなり長い間検索して試してみましたが、これ以上の可能性を思いつくことはできません. どんな助けでも大歓迎です。前もって感謝します!