-1

オラクルの正規表現に小さな問題があります。
文字列形式の 3 つのケースを含む次のような表があります。

私のテーブルでは、col1 は私が持っている文字列を保持し、col2 はターゲットです。

Case 1: W1234W4321
Case 2: W1234,W4321
Case 3: W1234/W4321
(長さと実数は異なります)

これで、この小さな正規表現をセットアップしました: [\d,/]W.*10 進数、コンマ、スラッシュの後の 2 つの値を分離します。
ツール RegExBuddy で結果をテストしましたが、結果は期待どおりです。
次のクエリでテーブルを更新すると、ケース 2 と 3 が更新され、ケース 1 は列 2 でまだ null です。

update nyTable set col2 = regexp_substr(col1, '[\d,/]W.*');

これはオラクルに関連する問題ですか(おそらく理解していません\d)?

4

1 に答える 1

1

http://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm

\d: 数字。これは、POSIX クラス [[:digit:]] と同等です。

于 2013-09-05T09:19:10.037 に答える