regex - Oracle REGEXP_REPLACE 大写替换字符串

标签 regex oracle replace

我试图将我的 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 .

关于regex - Oracle REGEXP_REPLACE 大写替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726450/

相关文章:

python - pandas read_excel函数用空格替换 "NA"?

javascript - Node.js 正则表达式替换复杂 HTML 开放标记中的多个属性

javascript - 匹配具有唯一数字的字母数字词(不是仅限数字的词)

database - Oracle Clob 内部是如何处理的?

regex - 如何仅从特定位置删除字符串中的分隔符?

java - 匹配字符串中最后一次出现的单词

vim - 在 vim 中搜索并替换选定的文件路径

php - 如何使用正则表达式通过 MySQL 查询返回记录?

Oracle 神秘的 Unicode 代码点

c# - 如何在 Oracle DB 中使用 DataTable(或类似的)