使用 regexp_substr 获得第二次出现
Get second occurrence with regexp_substr
我无法使 sqlfiddle 工作,所以这是我的简单代码:
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}') from dual;
我想得到SG SIN
。我知道 REGEXP_SUBSTR
有一个参数用于第 n 次出现但是当我写
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}'),1,2) from dual;
它 returns 什么都没有 1,1
returns EG SUZ SG SIN
所以我的猜测是事件没有正确拆分,但我不知道为什么,你能解释一下?
这会起作用
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '([A-Z]{2} [A-Z]{3}(\s|$))', 1, 2) from dual;
我无法使 sqlfiddle 工作,所以这是我的简单代码:
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}') from dual;
我想得到SG SIN
。我知道 REGEXP_SUBSTR
有一个参数用于第 n 次出现但是当我写
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '^(\s?[A-Z]{2} [A-Z]{3}\s?){2}'),1,2) from dual;
它 returns 什么都没有 1,1
returns EG SUZ SG SIN
所以我的猜测是事件没有正确拆分,但我不知道为什么,你能解释一下?
这会起作用
select REGEXP_SUBSTR(' EG SUZ SG SIN blabla ', '([A-Z]{2} [A-Z]{3}(\s|$))', 1, 2) from dual;