-1

我在 oracle 中遇到了一个正则表达式的小问题。
我有一个表格如下,其中包含 3 种字符串格式:

在我的表中, col1 包含我拥有的字符串, col2 是目标。

案例1:W1234W4321
案例2:W1234,W4321
案例3:W1234/W4321
(长度和实际数量不同)

现在我设置了这个小正则表达式:[\d,/]W.*将小数点后的两个值分开,逗号和斜线。
我已经在 RegExBuddy 工具中测试了结果,他的结果符合预期。
当使用以下查询更新我的表时,案例 2 和 3 正在更新,案例 1 在 col 2 中仍然为空。

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

这是与 oracle 相关的一些问题(可能不理解\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 回答