首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regexp_substr捕获两个单词之间的所有字符(包括字符串的前端和结尾)

使用regexp_substr捕获两个单词之间的所有字符(包括字符串的前端和结尾)
EN

Stack Overflow用户
提问于 2019-11-15 17:29:35
回答 1查看 162关注 0票数 0

因此,我主要使用的是regexp_like,而不是regexp_substr- -但是在下面的字符串中

代码语言:javascript
复制
'abc 3/4/16 blah blah 3/7/16 imp 2/8/15 xxx cc2' 
'3/10/18 bla bla imp-3/9/17 xfe 334 3/4/13'

I want to capture 
imp 2/8/15 xxx cc2
imp-3/9/17 xfe 

在regexp_like中,它只是regexp_like('abc 3/4/16 blah 3/7/16 imp 2/8/15 xxx cc2',‘(Imp),{0,20}(CC2\xfe)’),但它与regexp_substr的工作方式不同。

我试过在w/o成功下面使用这段代码。

代码语言:javascript
复制
with test (id, col) as
      (select 1, 'abc 3/4/16 blah blah IMP 3/7/16'                     from dual union all
      select 2, 'abc 3/4/16 blah blah 3/7/16 imp 2/8/15 xxx cc2'      from dual union all
      select 3, 'xxx 3/5/18 ccdd 234 imp happened on 5/8/19 some 23f' from dual union all
      select 4, '3/10/18 bla bla imp-3/9/17 xfe 334 3/4/13 x'         from dual
      )
   select id,
      regexp_substr('(imp).*(xxx|xfe)',1) result
  from test;

需要对资本化进行核算!

感谢你的建议。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-15 17:44:57

在查询中根本没有使用col

试试这个:

代码语言:javascript
复制
with test (id, col) as
      (select 1, 'abc 3/4/16 blah blah IMP 3/7/16'                     from dual union all
      select 2, 'abc 3/4/16 blah blah 3/7/16 imp 2/8/15 xxx cc2'      from dual union all
      select 3, 'xxx 3/5/18 ccdd 234 imp happened on 5/8/19 some 23f' from dual union all
      select 4, '3/10/18 bla bla imp-3/9/17 xfe 334 3/4/13 x'         from dual
      )
   select id,
      regexp_substr(col, '(imp).*(xxx|xfe)',1, 1) result -- use occurance as 1, last parameter
  from test;

db<>fiddle demo

干杯!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58881991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档