我的表中有一些值,其格式与下面类似。我只想检索A-E>>
..... >>
之间的数据字符串。(例如,第一次出现>>
,因此在下面的情况下,它将是Chubb Fire & Security Pty Ltd - ABN 47000067541
A-E>>Chubb Fire & Security Pty Ltd - ABN 47000067541>>C2004/10539>>My Docs
我试过使用REGEXP_SUBSTR(path,'A-E>>([^.]+)>>',1,1,NULL,1)
和其他变量,但它也返回超过>>
的值。
你知道我在正则表达式中遗漏了什么吗?
3条答案
按热度按时间uubf1zoe1#
我宁愿建议简单快速的
substr + instr
组合;提取>>
* 符号 * 第一次和第二次出现之间的子字符串。样本数据:
质询:
z31licg02#
您可以在查询中尝试以下正则表达式模式:
A-E>>([^.>]+)>>.*$
请检查演示here
06odsfpq3#
一个选项是将
REGEXP_REPLACE()
与捕获组2一起使用,以便提取由以下模式组划分的第二片,例如Demo