Oracle REGEXP_REPLACE 大写替换字符串

5

我试图将我的正则表达式中的替换字符串转换为大写,但一直没有成功:

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

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

我知道不能使用上述方法,只是作为一个示例。有什么方法可以实现这个功能吗?

1个回答

4
据我所知,您无法直接完成此操作,但您可以将字符串拆分并重新构建它:
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论坛的REGEXP主题中得到了这个想法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接