【发布时间】:2012-09-25 10:35:03
【问题描述】:
我正在尝试将我的 reg 表达式中的替换字符串大写但没有成功:
SELECT regexp_replace('src=/i/uie_v2/js','(/uie_v2/)',upper('\1')) from dual
返回'src=/i/uie_v2/js'
我知道不能使用upper ..仅作为示例显示。关于如何实现这一点的任何想法?
【问题讨论】:
我正在尝试将我的 reg 表达式中的替换字符串大写但没有成功:
SELECT regexp_replace('src=/i/uie_v2/js','(/uie_v2/)',upper('\1')) from dual
返回'src=/i/uie_v2/js'
我知道不能使用upper ..仅作为示例显示。关于如何实现这一点的任何想法?
【问题讨论】:
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 那里得到了这个想法。
【讨论】: