我在oracle中遇到了一个关于正则表达式的小问题 我有一个表格如下,有3种字符串格式:
在我的表中,col1保存我拥有的字符串,col2是目标。
案例1:W1234W4321
案例2:W1234,W4321
案例3:W1234 / W4321
(长度和实际数字不同)
现在我已经设置了这个小正则表达式:[\d,/]W.*
来分隔十进制,逗号和斜杠之后的两个值。
我在RegExBuddy工具中测试了结果,结果与预期一致。
使用以下查询更新我的表时,案例2和3正在更新,案例1在第2列中仍为空。
update nyTable set col2 = regexp_substr(col1, '[\d,/]W.*');
这是与oracle相关的一些问题(可能不理解\d
)吗?
答案 0 :(得分:1)
http://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm
\ d:数字字符。它相当于POSIX类[[:digit:]]。