首页 > 解决方案 > 如何通过oracle regexp_substr() 提取“/”字符之前的部分

问题描述

我想在 1st 之前提取部分/,我该怎么做?

 SELECT REGEXP_SUBSTR('prAct1-03/cPMI-01/iPEPC9-01/t35s-08','(pr.*)/',1,1) as promoter 
   FROM dual;

没用,而且似乎 oracle 不支持 Lookahead 和 Lookbehind。谢谢!

标签: sqloraclesubstr

解决方案


我会在这里使用基本字符串函数:

SELECT SUBSTR(col, 1, INSTR(col, '/') - 1) AS first_part
FROM yourTable;

演示

如果您真的想使用正则表达式,请尝试:

SELECT REGXP_SUBSTR(col, '^[^/]+')
FROM yourTable;

推荐阅读