首页 > 解决方案 > 需要删除确切的字符组

问题描述

我需要删除特定字符串(-->)之后的所有字符。

select 
      REGEXP_SUBSTR('-->Team Name - Red-->blue', '[^(-->)]+') 
from dual;

上述查询的预期结果是“ Team Name - Red ”。但它返回的“团队名称”。

只要匹配任何一个字符,它就会过滤掉所有内容。

标签: sqlregexoracleoracle10gregexp-substr

解决方案


您仍然可以使用Regexp_Substr()分析功能:

Select Regexp_Substr('-->Team Name - Red-->blue', 
                     '-{2}>(.*?)-{2}>',1,1,null,1) as "Result"
  From dual;

Result
---------------
Team Name - Red

-{2}>〜恰好两次出现-和一次出现>例如(-->

(.*?)~ 匹配由上述模式分隔的任何内容

Demo


推荐阅读