我想使用regexp在oracle中提取字符串的以下部分:
String: FN_SUM(ACCRUED_INTEREST)
Output expected: ACCRUED_INTEREST
我试过了:
select regexp_substr('FN_SUM(ACCRUED_INTEREST)','([^)]') from dual;
这给了我ORA-12725错误。
任何使用正则表达式的解决方案都会非常感激。
答案 0 :(得分:6)
尝试:
select regexp_replace('FN_SUM(ACCRUED_INTEREST)', '(.*)?\((.*)?\)(.*)?$','\2') from dual;
答案 1 :(得分:0)
为什么不使用常规替换
select replace( replace('fn_sum(value)'
, substr('fn_sum(value)', 1, instr('fn_sum(value)', '(')))
, ')')
from dual