2
这是我需要完成的一个时髦匹配。Oracle SQL Regexp_replace匹配
A5.1.9.11.2
需求,成为:
A05.01.09.11.02
DOT部分的金额从没有改变很多。字母“A”将永远在那里,总是有1个字符。
我想使用regexp_replace()函数来使用它作为排序机制。谢谢。
这是我需要完成的一个时髦匹配。Oracle SQL Regexp_replace匹配
A5.1.9.11.2
需求,成为:
A05.01.09.11.02
DOT部分的金额从没有改变很多。字母“A”将永远在那里,总是有1个字符。
我想使用regexp_replace()函数来使用它作为排序机制。谢谢。
的Oracle SQL不支持环视断言,这将对于这种情况下是有用的:
s/([0-9](?<![0-9]))/0\1/g
你必须使用至少两种替代品:
REGEXP_REPLACE(REGEXP_REPLACE(col, '([0-9]+)', '0\1'), '0([0-9]{2})', '\1')
+1我搁浅关于环视问题。使用两个REGEXP_REPLACE()调用并不直观,但它确实有效。 – APC