oracle 使用 REGEXP_REPLACE 在最后一个竖线之后找到第一个连字符
SELECT REGEXP_REPLACE ('sadsa|dd|g - g|hh|yyyyy - tttt - ooo', '.*(\|)(?!.*\|).*?\-{1}', '' ) FROM dual;
字符串输入
'sadsa|dd|g - g|hh|yyyyy - tttt - ooo'
预期产出
'sadsa|dd|g - g|hh|yyyyy -'
此正则表达式适用于记事本++,但不适用于 oracle
.*(\|)(?!.*\|).*?\-{1}
给
看
http://sqlfiddle.com/#!4/45eb2f/1