这是一个我需要完成的时髦匹配。
A5.1.9.11.2
需要成为:
A05.01.09.11.02
DOT部分的数量将从无到有。字母“A”将始终存在并始终为1个字符。
我想使用regexp_replace()函数将其用作排序机制。感谢。
答案 0 :(得分:3)
Oracle SQL不支持环绕声断言,这对于这种情况很有用:
s/([0-9](?<![0-9]))/0\1/g
您必须至少使用两次替换:
REGEXP_REPLACE(REGEXP_REPLACE(col, '([0-9]+)', '0\1'), '0([0-9]{2})', '\1')