Oracle REGEXP_REPLACE大写替换字符串

时间:2012-10-04 11:39:38

标签: regex oracle replace

我试图从我的reg表达式大写替换字符串而没有成功:

SELECT regexp_replace('src=/i/uie_v2/js','(/uie_v2/)',upper('\1')) from dual

返回'src=/i/uie_v2/js'

我知道鞋帮不能用..只是作为一个例子。关于如何实现这一点的任何想法?

1 个答案:

答案 0 :(得分:4)

AFAIK,你不能直接这样做,但是你可以分开并重建它:

SELECT regexp_replace('src=/i/uie_v2/js','(.*)(/uie_v2/)(.*)', '\1') ||
  upper(regexp_substr('src=/i/uie_v2/js','(/uie_v2/)')) || 
  regexp_replace('src=/i/uie_v2/js','(.*)(/uie_v2/)(.*)', '\3')
from dual

我从OTN forums thread on REGEXP获得了这个想法。